System Analysis and Design

March 31, 2018 | Author: aone00 | Category: Inventory, Databases, Computer Data Storage, E Commerce, Strategic Management


Comments



Description

System Analysis and DesignSyllabus SYSTEM ANALYSIS AND DESIGN Module 1: Data and Information (3) Types of information: operational, tactical, strategic and statutory – why do we need information systems – management structure – requirements of information at different levels of management – functional allocation of management – requirements of information for various functions – qualities of information – small case study. Module 2: Systems Analysis and Design Life Cycle (3) Requirements determination – requirements specifications – feasibility analysis – final specifications – hardware and software study – system design – system implementation – system evaluation – system modification. Role of systems analyst – attributes of a systems analyst – tools used in system analysis Module 3: Information gathering (3) Strategies – methods – case study – documenting study – system requirements specification – from narratives of requirements to classification of requirements as strategic, tactical, operational and statutory. Example case study Module 4: Feasibility analysis (3) Deciding project goals – examining alternative solutions – cost – benefit analysis – quantifications of costs and benefits – payback period – system proposal preparation for managements – parts and documentation of a proposal – tools for prototype creation Module 5: Tools for systems analysts (3) Data flow diagrams – case study for use of DFD, good conventions – leveling of DFDs – leveling rules – logical and physical DFDs – software tools to create DFDs Module 6: Structured systems analysis and design (3) Procedure specifications in structured English – examples and cases – decision tables for complex logical specifications – specification oriented design vs procedure oriented design Module 7: Data oriented systems design (3) Entity relationship model – E-R diagrams – relationships cardinality and participation – normalizing relations – various normal forms and their need – some examples of relational data base design. Module 8: Data input methods (3) Coding techniques – requirements of coding schemes – error detection of codes – validating input data – input data controls interactive data input Module 9: Designing outputs (2) Output devices – designing output reports – screen design – graphical user interfaces – interactive I/O on terminals. V.Rajaraman/IISc, Bangalore V1/1-6-04/1 System Analysis and Design Syllabus Module 10: Object oriented systems modeling (4) What are objects? – Why objects? – Objects and their properties – classes – inheritance – polymorphism – how to identify objects in an application – how to model systems using objects – some cases of object oriented system modeling Module 11: Control – audit and security of information systems (4) Audit and security of information systems – why controls are needed – objectives of control – techniques used in control – auditing information systems – auditing around, through and with the computer – testing information systems – types of tests – how to generate tests – security of information systems – disaster recovery – business process continuity Module 12: Systems analysis and design in the era of electronic commerce (3) B2B, B2C and C2C e-commerce – advantages and disadvantages of e-commerce. Ecommerce system architecture – physical networks, logical network, World Wide Web, web-services – html, XML. Module 13: Electronic data interchange (2) EDI standards – virtual private networks – XML and EDI. Module 14: Security of e-commerce transactions, firewalls (3) Encryption methods – symmetric and asymmetric encryption – digital signature – certifying authorities for signatures – legal status of e-commerce transactions Module 15: Payment systems in e-commerce (2) Cheque payment, credit card payments, e-cash payments. Module 16: Complete system analysis and design case studies (5) A system for journal acquisition in libraries – walk through the entire life cycle V.Rajaraman/IISc, Bangalore V1/1-6-04/2 System Analysis and Design Syllabus Lecture Plan Modules 1. Data and Information Learning Units Types of information: operational, tactical, strategic and statutory Why do we need information systems, management structure, requirements of information at different levels of management Functional allocation of management, requirements of information for various functions Qualities of information– small case study Systems Analysis and Design life Cycle: Requirements determination, requirements specifications Hours per topic 0.5 Total Hours 1. 2. 1 3 1 3. 2. Systems Analysis and Design Life Cycle 4. 5. 0.5 1 3 1 3. Information gathering 4. Feasibility analysis 6. Feasibility analysis, final specifications, hardware and software study, system design, system implementation, system evaluation, system modification. 7. Role of systems analyst – attributes of a systems analyst – tools used in system analysis 8. Information gathering, strategies, methods 9. Case study/documenting study, system requirements specification, from narratives of requirements to classification of requirements as strategic, tactical, operational and statutory. Example case study 10. How to formulate project goals and quantify them 11. Examining alternative solutions and evaluating proposed solutions a) Technical feasibility b) Operational feasibility c) Economic feasibility 12. Cost benefit analysis, Documenting feasibility report 13. Developing Data Flow Diagrams (DFD) a) What are DFDs? b) Symbols used in DFD c) Rules of data flow d) Good style in drawing DFD 14. Describing systems with DFD & Leveling DFD 15. Logical & Physical DFDs 1 1 3 2 1 3 1 1 5. Tools for systems analysts 1.5 3 1 0.5 V.Rajaraman/IISc, Bangalore V1/1-6-04/3 System Analysis and Design Syllabus 6. Structured systems analysis and design 16. Structured English specification 17. Decision table based specification 18. Detecting 19. Incompleteness 20. Ambiguity 21. Contradictions 22. Redundancy 23. in decision table specification 24. Eliminating redundancy in specifications 25. Decision trees for specification 26. Entity-relationship (E-R) modeling 27. of data elements of an application 28. Organization of data as relations 29. Normalization of relations 30. Creation of logical relational database 31. Objectives of database management system (DBMS) 32. Overview of DBMS 33. Data input methods, coding techniques, requirements of coding schemes 34. Error detection of codes, validating input data 35. Input data controls interactive data input 36. Designing outputs, output devices, designing output reports 37. Screen design, graphical user interfaces, Interactive I/O on terminals. 38. Object oriented systems modeling 39. What are objects? Why objects? 40. Objects and their properties, classes, inheritance, polymorphism 41. How to identify objects in an application, how to model systems using objects 42. Some cases of object oriented system modeling 43. Control, audit and security of information system 44. Why controls are needed, objectives of control, techniques used in control 45. Auditing information systems, auditing around, through and with the computer 46. Testing information systems, types of tests, how to generate tests 1 1 1 4.5 7. Data oriented systems design 1 0.5 1 0.5 1 1 1 0.5 1 1 1 1 1 0.5 0.5 1 1 1 0.5 0.5 1 1 4 4 2 3 5 8. Data input methods 9. Designing outputs 10. Object oriented systems modeling 11. Controlaudit and security of information systems V.Rajaraman/IISc, Bangalore V1/1-6-04/4 System Analysis and Design Syllabus 47. Security of information systems, disaster recovery, business process continuity 12. Systems 48. Systems analysis and design in the era of analysis and electronic commerce design in the era 49. B2B, B2C and C2C e-commerce, advantages of electronic and disadvantages of e-commerce. commerce 50. E-commerce system architecture 51. Physical networks, logical network, world wide web, web-services – html, XML 13. Electronic 52. Electronic data interchange, EDI standards data interchange 53. Virtual private networks – XML and EDI. 14. Security of e- 54. Security of e-commerce transactions, firewalls, commerce encryption methods, symmetric and transactions, asymmetric encryption, firewalls 55. Digital signature, certifying authorities for signatures, legal status of e-commerce transactions 15. Payment 56. Payment systems in e-commerce, cheque systems in epayment, credit card payments, e-cash commerce payments. 16. Complete 57. Complete system analysis and design case system analysis studies, a system for journal acquisition in and design case libraries, walk through the entire life cycle studies 1 0.5 0.5 4 1 2 1 1 1.5 3 1.5 2 2 2 5 5 V.Rajaraman/IISc, Bangalore V1/1-6-04/5 MODULE 1 INFORMATION FOR MANAGEMENT OBJECTIVE QUESTIONS There are 4 alternative answers to each question. One of them is correct. Pick the correct answer. Do not guess. A key is given at the end of the module for you to verify your answer LEARNING UNIT 1 1.1 Information is (a) Data (c) Manipulated input (b) Processed Data (d) Computer output 1.2 Data by itself is not useful unless (a) It is massive (b) It is processed to obtain information (c) It is collected from diverse sources (d) It is properly stated For taking decisions data must be (a) Very accurate (b) Massive (c) Processed correctly (d) Collected from diverse sources Strategic information is needed for (a) Day to day operations (b) Meet government requirements (c) Long range planning (d) Short range planning 1.3 1.4 1.5 Strategic information is required by (a) Middle managers (b) Line managers (c) Top managers (d) All workers 1.6 Tactical information is needed for (a) Day to day operations (b) Meet government requirements (c) Long range planning (d) Short range planning 1.7 Tactical information is required by (a) Middle managers (b) Line managers (c) Top managers (d) All workers 1.8 Operational information is needed for (a) Day to day operations (b) Meet government requirements (c) Long range planning (d) Short range planning 1.9 Operational information is required by (a) Middle managers (b) Line managers (c) Top managers (d) All workers 1.10 Statutory information is needed for (a) Day to day operations (b) Meet government requirements (c) Long range planning (d) Short range planning 1.11 In motor car manufacturing the following type of information is strategic (a) Decision on introducing a new model (b) Scheduling production (c) Assessing competitor car (d) Computing sales tax collected 1.12 In motor car manufacturing the following type of information is tactical (a) Decision on introducing a new model (b) Scheduling production (c) Assessing competitor car (d) Computing sales tax collected 1.13 In motor car manufacturing the following type of information is operational (a) Decision on introducing a new model (b) Scheduling production (c) Assessing competitor car (d) Computing sales tax collected 1.14 In motor car manufacturing the following type of information is statutory (a) Decision on introducing a new model (b) Scheduling production (c) Assessing competitor car (d) Computing sales tax collected 1.15 In a hospital information system the following type of information is strategic (a) Opening a new children’s ward (b) Data on births and deaths (c) Preparing patients’ bill (d) Buying an expensive diagnostic system such as CAT scan 1.16 In a hospital information system the following type of information is tactical (a) Opening a new children’s’ ward (b) Data on births and deaths (c) Preparing patients’ bill (d) Buying an expensive diagnostic system such as CAT scan 1.17 In a hospital information system the following type of information is operational (a) Opening a new children’s’ ward (b) Data on births and deaths (c) Preparing patients’ bill (d) Buying an expensive diagnostic system such as CAT scan 1.18 In a hospital information system the following type of information is statutory (a) Opening a new children’s’ ward (b) Data on births and deaths (c) Preparing patients’ bill (d) Buying an expensive diagnostic system such as CAT scan LEARNING UNIT 2 1.19 A computer based information system is needed because (i) The size of organization have become large and data is massive (ii) Timely decisions are to be taken based on available data (iii) Computers are available (iv) Difficult to get clerks to process data (a) (ii) and (iii) (c) (i) and (iv) (b) (i) and (ii) (d) (iii) and (iv) 1.20 Volume of strategic information is (a) Condensed (b) Detailed (c) Summarized (d) Irrelevant 1.21 Volume of tactical information is (a) Condensed (b) Detailed (c) Summarized (d) relevant 1.22 Volume of operational information is (a) Condensed (b) Detailed (c) Summarized (d) Irrelevant 1.23 Strategic information is (a) Haphazard (b) Well organized (c) Unstructured (d) Partly structured 1.24 Tactical information is (a) Haphazard (b) Well organized (c) Unstructured (d) Partly structured 1.25 Operational information is (a) Haphazard (b) Well organized (c) Unstructured (d) Partly structured LEARNING UNIT 3 1.26 Match and find best pairing for a Human Resource Management System (i)Policies on giving bonus (iv)Strategic information (ii)Absentee reduction (v)Tactical information (iii)Skills inventory (vi)Operational Information (a) (b) (c) (d) (i) and (v) (i) and (iv) (ii) and (iv) (iii) and (v) 1.27 Match and find best pairing for a Production Management System (i) Performance appraisal of machines (iv)Strategic information to decide on replacement (ii)Introducing new production (v)Tactical information technology (iii)Preventive maintenance schedules (vi)Operational information for machines (a) (a)(i) and (vi) (b) (ii) and (v) (c) (i) and (v) (d) (iii) and (iv) 1.28 Match and find best pairing for a Production Management System (i) Performance appraisal of machines (iv)Strategic information to decide on replacement (ii)Introducing new production (v)Tactical information technology (iii)Preventive maintenance schedules (vi)Operational information for machines (a) (iii) and (vi) (b) (i) and (iv) (c) (ii) and (v) (d) None of the above 1.29 Match and find best pairing for a Materials Management System (i) Developing vendor performance (iv) Strategic information measures (ii) Developing vendors for critical (v) Tactical information items (iii)List of items rejected from a vendor (vi)Operational information (a) (i) and (v) (b) (ii) and (v) (c) (iii) and (iv) (d) (ii) and (vi) 1.30 Match and find best pairing for a Materials Management System (i)Developing vendor performance (iv)Strategic information measures (ii)Developing vendors for critical (v)Tactical information items (iii)List of items rejected from a vendor (vi)Operational information (a) (i) and (iv) (b) (i) and (vi) (c) (ii) and (iv) (d) (iii) and (v) 1.31 Match and find best pairing for a Materials Management System (i)Developing vendor performance (iv)Strategic information measures (ii)Developing vendors for critical (v)Tactical information items (iii)List of items rejected from a vendor (vi)Operational information (a) (i) and (vi) (b) (iii) and (vi) (c) (ii) and (vi) (d) (iii) and (iv) 1.32 Match and find best pairing for a Finance Management System (i)Tax deduction at source report (iv)Strategic information (ii)Impact of taxation on pricing (v)Tactical information (iii)Tax planning (vi)Operational information (a) (i) and (v) (b) (iii) and (vi) (c) (ii) and (v) (d) (ii)) and (iv) 1.33 Match and find best pairing for a Finance Management System (i)Budget status to all managers (iv)Strategic information (ii)Method of financing (v)Tactical information (iii)Variance between budget and (vi)Operational information expenses (a) (i) and (v) (b) (iii) and (vi) (c) (ii) and (v) (d) (ii) and (iv) 1.34 Match and find best pairing for a Marketing Management System (i)Customer preferences surveys (iv)Strategic information (ii)Search for new markets (v)Tactical information (iii)Performance of sales outlets (vi)Operational information (a) (i) and (iv) (b) (ii) and (v) (c) (iii) and (vi) (d) (ii) and (v) 1.35 Match and find best pairing for a Marketing Management System (i)Customer preferences surveys (iv)Strategic information (ii)Search for new markets (v)Tactical information (iii)Performance of sales outlets (vi)Operational information (a) (iii) and (iv) (b) (i) and (vi) (c) (i) and (v) (d) (iii) and (v) 1.36 Match and find best pairing for a Research and Development Management System (i)Technical collaboration decision (iv)Strategic information (ii)Budgeted expenses Vs actuals (v)Tactical information (iii)Proportion of budget to be (vi)Operational information allocated to various projects (a) (i) and (iv) (b) (ii) and (v) (c) (iii) and (vi) (d) (iii) and (iv) 1.37 Match and find best pairing for a Research and Development Management System (i)Technical collaboration decision (iv)Strategic information (ii)Budgeted expenses Vs actuals (v)Tactical information (iii)Proportion of budget to be (vi)Operational information allocated to various projects (a) (i) and (v) (b) (iii) and (v) (c) (ii) and (v) (d) (i) and (vi) 1.38 Organizations are divided into departments because (a) it is convenient to do so (b) each department can be assigned a specific functional responsibility (c) it provides opportunities for promotion (d) it is done by every organization 1.39 Organizations have hierarchical structures because (a) it is convenient to do so (b) it is done by every organization (c) specific responsibilities can be assigned for each level (d) it provides opportunities for promotions 1.40 Which of the following functions is the most unlikely in an insurance company. (a) Training (b) giving loans (c) bill of material (d) accounting 1.41 Which of the following functions is most unlikely in a university (a) admissions (b) accounting (c) conducting examination (d) marketing 1.42 Which of the following functions is most unlikely in a purchase section of an organization. (a) Production planning (b) order processing (c) vendor selection (d) training 1.43 Which is the most unlikely function of a marketing division of an organization. (a) advertising (b) sales analysis (c) order processing (d) customer preference analysis 1.44 Which is the most unlikely function of a finance section of a company. (a) Billing (b) costing (c) budgeting (d) labor deployment LEARNING UNIT 4 1.45 Match quality of information and how it is ensured using the following list QUALITY HOW ENSURED (i) Accurate (ii) Complete (iii)Timely (a) (i) and (v) (b) (ii) and (vi) (c) (iii) and (vi) (d) (i) and (iv) (iv) Include all data (v) Use correct input and processing rules (vi) Include all data up to present time 1.46 Match quality of information and how it is ensured using the following list QUALITY HOW ENSURED (i) Accurate (ii) Complete (iii) Timely (a) (ii) and (v) (b) (ii) and (vi) (c) (ii) and (iv) (d) (iii) and (iv) (iv) Include all data (v) Use correct input and processing rules (vi) Include all data up to present time 1.47 Match quality of information and how it is ensured using the following list QUALITY HOW ENSURED (i)Up-to-date (ii) Brief (iii) Significance graphical charts (a) (i) and (v) (b) (ii) and (vi) (c) (iii) and (vi) (d) (i) and (vi) (iv) Include all data to present time (v) Give at right time (vi) Use attractive format and understandable 1.48 Match quality of information and how it is ensured using the following list QUALITY HOW ENSURED (i)Up- to-date (ii)Brief (iii) Significance graphical charts (a) (i) and (iv) (b) (ii) and (v) (c) (iii) and (iv) (d) (ii) and (iv) (iv) Include all data to present time (v) Give at right time (vi) Use attractive format and understandable 1.49 Match quality of information and how it is ensured using the following list QUALITY HOW ENSURED (i)Brief (ii)Relevant (iii) Trustworthy (a) (i) and (iv) (b) (ii) and (v) (c) (iii) and (vi) (d) (i) and (v) (iv) Unpleasant information not hidden (v) Summarize relevant information (vi) Understands user needs 1.50 Match quality of information and how it is ensured using the following list QUALITY HOW ENSURED (i)Brief (iv) Unpleasant information not hidden (ii)Relevant (v) Summarize relevant information (iii)Trustworthy (vi) Understands user needs (a) (ii) and (vi) (b) (i) and (iv) (c) (iii) and (v) (d) (ii) and (iv) 1.51 The quality of information which does not hide any unpleasant information is known as (a) Complete (b) Trustworthy (c) Relevant (d) None of the above 1.52 The quality of information which is based on understanding user needs (a) Complete (b) Trustworthy (c) Relevant (d) None of the above LEARNING UNIT 5 1.53 Every record stored in a Master file has a key field because (a) it is the most important field (b) it acts as a unique identification of record (c) it is the key to the database (d) it is a very concise field 1.54 The primary storage medium for storing archival data is (a) floppy disk (b) magnetic disk (c) magnetic tape (d) CD- ROM 1.55 Master files are normally stored in (a) a hard disk (b) a tape (c) CD – ROM (d) computer’s main memory 1.56 Master file is a file containing (a) all master records (b) all records relevant to the application (c) a collection of data items (d) historical data of relevance to the organization 1.57 Edit program is required to (a) authenticate data entered by an operator (b) format correctly input data (c) detect errors in input data (d) expedite retrieving input data 1.58 Data rejected by edit program are (a) corrected and re- entered (b) removed from processing (c) collected for later use (d) ignored during processing 1.59 Online transaction processing is used because (a) it is efficient (b) disk is used for storing files (c) it can handle random queries. (d) Transactions occur in batches 1.60 On-line transaction processing is used when i) it is required to answer random queries ii) it is required to ensure correct processing iii) all files are available on-line iv) all files are stored using hard disk a) i ,ii b) i, iii c) ii ,iii, iv d) i , ii ,iii 1.61 Off-line data entry is preferable when i) data should be entered without error ii) the volume of data to be entered is large iii) the volume of data to be entered is small iv) data is to be processed periodically a) i, ii b) ii, iii c) ii, iv d) iii, iv 1.62 Batch processing is used when i) response time should be short ii) data processing is to be carried out at periodic intervals iii) transactions are in batches iv) transactions do not occur periodically a) i ,ii b) i ,iii,iv c) ii ,iii d) i , ii ,iii 1.63 Batch processing is preferred over on-line transaction processing when i) processing efficiency is important ii) the volume of data to be processed is large iii) only periodic processing is needed iv) a large number of queries are to be processed a) i ,ii b) i, iii c) ii ,iii d) i , ii ,iii 1.64 A management information system is one which (a) is required by all managers of an organization (b) processes data to yield information of value in tactical management (c) provides operational information (d) allows better management of organizations 1.65 Data mining is used to aid in (a) operational management (b) analyzing past decision made by managers (c) detecting patterns in operational data (d) retrieving archival data 1.66. Data mining requires (a) large quantities of operational data stored over a period of time (b) lots of tactical data (c) several tape drives to store archival data (d) large mainframe computers 1.67 Data mining can not be done if (a) operational data has not been archived (b) earlier management decisions are not available (c) the organization is large (d) all processing had been only batch processing 1.68. Decision support systems are used for (a) management decision making (b) providing tactical information to management (c) providing strategic information to management (d) better operation of an organization 1.69 Decision support systems are used by (a) line managers. (b) top-level managers. (c) middle level managers. (d) system users 1.70. Decision support systems are essential for (a) day–to-day operation of an organization. (b) providing statutory information. (c) top level strategic decision making. (d) ensuring that organizations are profitable. Key To Objective Questions 1.1 1.7 1.13 1.19 1.25 1.31 1.37 1.43 1.49 1.55 1.61 1.67 a c a b a b b b b b c d 1.2 1.8 1.14 1.20 1.26 1.32 1.38 1.44 1.50 1.56 1.62 1.68 b a d a b c b d a b c c 1.3 1.9 1.15 1.21 1.27 1.33 1.39 1.45 1.51 1.57 1.63 1.69 c b d c c d c a b c d b 1.4 1.10 1.16 1.22 1.28 1.34 1.40 1.46 1.52 1.58 1.64 1.70 c b a b a c c c c a b c 1.5 1.11 1.17 1.23 1.29 1.35 1.41 1.47 1.53 1.59 1.65 c a c c a c d c b c c 1.6 1.12 1.18 1.24 1.30 1.36 1.42 1.48 1.54 1.60 1.66 d c b d c a a a c b a System Analysis and Design / Data and Information Motivation Motivation Large number of jobs today for computer science and engineering graduates is in creating information systems for managing organizations we thus need methods to design complex systems. Students should know what information is and how it is different from data. Should know types of information needed to manage organizations. Should know nature of organizations and their structure to design appropriate information system. Should know management structure and needs of each level of management. Should know functional areas of management information needs for each area. V. Rajaraman/IISc. Bangalore //V1/July 04/1 MODULE 1 INFORMATION FOR MANAGEMENT 1.1 Data and Information, types of information : Operational, tactical, strategic, Statutory 1.2 Why do we need information systems, management structure, requirements of information at different levels of management 1.3 Functional allocation of management, requirements of information for various functions. 1.4 Qualities of information 1.5 Varieties of information system Systems Analysis And Design © V. Rajaraman MOTIVATION Large number of jobs today for computer science and engineering graduates is in creating information systems for managing organizations Students should know what is information and how it is different from data Should know types of information needed to manage organizations Systems Analysis And Design © V. Rajaraman 1 of 50 MOTIVATION Should know nature of organizations and their structure to design appropriate information system. Should know management structure and needs of each level of management Should know functional areas of management and information needs for each area Systems Analysis And Design © V. Rajaraman 2 of 50 LEARNING GOALS 1. Distinction between Data and Information 2. Description of types of Information: Tactical, Operational, Strategic, Statutory. 3. Division of Management into different hierarchical levels. 4. Type of Information needed at different levels of management. 5. Division of organizations into several functional areas and their information requirements 6. Attributes of Information. Systems Analysis And Design © V. Rajaraman 3 of 50 DATA AND INFORMATION DATA : Raw Material Data collection costs money Collect only necessary and sufficient data Data is generally used by machines Data is useless unless it is processed to create INFORMATION 1.1.1 System Analysis And Design © V. Rajaraman 4 of 50 DATA AND INFORMATION INFORMATION : Processed data Data processed by machines giving information Information is used to run an organization efficiently Information used by managers to initiate actions 1.1.2 System Analysis And Design © V. Rajaraman 5 of 50 EXAMPLE OF INFORMATION NEEDED BY A SHOPKEEPER Daily sales account List of low stock items to be re-ordered List of overstock items Long overdue payments Profit and loss account Used to streamline day to day operations called Operational information 1.1.3 System Analysis And Design © V. Rajaraman 6 of 50 EXAMPLE OF INFORMATION NEEDED BY A SHOPKEEPER (CONTD) Slow or fast moving items Reliable supplier of items Sales trends Used to improve profitability of shop called Tactical information 1.1.4 System Analysis And Design © V. Rajaraman 7 of 50 EXAMPLE OF INFORMATION NEEDED BY A SHOPKEEPER (CONTD) Whether to stock different varieties of items Whether to diversify Whether to start a new branch in a different locality Whether to start an e-shop Information to expand business and explore new opportunities Known as Strategic Information 1.1.5 System Analysis And Design © V. Rajaraman 8 of 50 EXAMPLE OF INFORMATION NEEDED BY A SHOPKEEPER (CONTD) Income tax account Sales tax account Used to provide information to the government Known as Statutory Information 1.1.6 System Analysis And Design © V. Rajaraman 9 of 50 TYPES OF INFORMATION STRATEGIC : Needed for long range planning and directions. This is less structured. TACTICAL : Needed to take short range decisions to improve profitability and performance. 1.1.7 System Analysis And Design © V. Rajaraman 10 of 50 TYPES OF INFORMATION OPERATIONAL : Needed for day to day operations of the organization. Eg: Daily Sales, Billing. STATUTORY : Needed by law to sent to government authorities. Eg: Sales tax return. 1.1.8 System Analysis And Design © V. Rajaraman 11 of 50 MANAGEMENT HIERARCHY AND INFORMATION NEEDS Volume of Information Low condensed Medium moderately processed Type of Information Unstructured Moderately structured Top Managers Middle Managers Line managers StrategicLong range planning Tactical Short range improvement Highly Large structured Detailed Reports Operational Day to day policies 1.1.9 System Analysis And Design © V. Rajaraman 12 of 50 NEED FOR INFORMATION SYSTEMS Increasing size of organizations thus data volume increases Timely processing for fast action Better competitiveness with better information . Increasing of complexity of organizations require innovative processing Distributed organizations Same data can be processed in different ways 1.2.1 System Analysis And Design © V. Rajaraman 13 of 50 MANAGEMENT STRUCTURE Chief Executive (Strategical) (Tactical) Production manager Marketing manager Materials manager Finance manager Human Resource manager (Operational) Line managers 1.2.2 System Analysis And Design © V. Rajaraman 14 of 50 MANAGEMENT STRUCTURE (CONTD) TOP MANAGEMENT Chief Executive known as CEO Executive Directors for each functional areas such as Production, Finance, HRD etc. Take strategic decisions 1.2.3 System Analysis And Design © V. Rajaraman 15 of 50 MANAGEMENT STRUCTURE (CONTD) MIDDLE MANAGEMENT General managers, divisional managers,Vice presidents etc Each functional area may have 2 to 3 middle level managers reporting to top management Take Tactical decisions 1.2.4 System Analysis And Design © V. Rajaraman 16 of 50 MANAGEMENT STRUCTURE (CONTD) LINE MANAGERS Group managers, Assistant Group managers, Assistant managers Each functional area may have several line managers reporting to middle level managers. Take Operational decisions 1.2.5 System Analysis And Design © V. Rajaraman 17 of 50 MANAGEMENT STRUCTURE (CONTD) FUNCTIONAL AREAS PRODUCTION MARKETING MATERIALS – purchase, stores FINANCE –Accounts HUMAN RESOURCE DEVELOPMENT(HRD) RESEARCH AND DEVELOPMENT (R&D) 1.3.1 System Analysis And Design © V. Rajaraman 18 of 50 MANAGEMENT STRUCTURE (CONTD) FUNCTIONAL AREAS All organizations need not have identical functional areas However some are common such as - MARKETING - FINANCE - HUMAN RESOURCE DE VELOPMENT(HRD) 1.3.2 System Analysis And Design © V. Rajaraman 19 of 50 INFORMATION FOR MANAGEMENT Production Management Strategic Information Yearly and monthly production quotas and alternate schedules Policies on machine replacement, augmentation, and modernization. Identifying best product mix. 1.3.3 System Analysis And Design © V. Rajaraman 20 of 50 INFORMATION FOR MANAGEMENT Production Management Tactical Information Identifying and controlling areas of high cost. Identifying critical bottlenecks in production. Identifying alternate production schedules based on tools, machines etc. Performance measures of machines to decide replacement. 1.3.4 System Analysis And Design © V. Rajaraman 21 of 50 INFORMATION FOR MANAGEMENT Production Management Operational Information Monitoring up to date production information by examining assemblies, detecting likely shortages and giving early warning. Scheduling better production dynamically. Preventive maintenance schedules. Monitoring tool, machine and personnel availability 1.3.5 System Analysis And Design © V. Rajaraman 22 of 50 INFORMATION FOR MANAGEMENT Marketing Management Strategic Information Search for new markets and marketing strategies. Analysis of competitors strategy. Technology and demographic forecasts and product changes. 1.3.6 System Analysis And Design © V. Rajaraman 23 of 50 INFORMATION FOR MANAGEMENT Marketing Management Tactical Information Advertising techniques and analysis of their impact. Customer preference surveys. Correlation of prices and sales. Sales force deployment and targets. Exploring alternate marketing channels. Timing of special sales campaigns. 1.3.7 System Analysis And Design © V. Rajaraman 24 of 50 INFORMATION FOR MANAGEMENT Marketing Management Operational Information Sales analysis by regions,customer class, sales person. Sales target versus achievement. Market share and trends. Seasonal variations. Effect of model changes. Performance of sales outlets Costs of campaigns and benefit. 1.3.8 System Analysis And Design © V. Rajaraman 25 of 50 INFORMATION FOR MANAGEMENT Material Management Strategic Information Developing vendors for critical items. Determining optimal levels of inventory Determining proportion of material needed Reducing varieties of inventory. 1.3.9 System Analysis And Design © V. Rajaraman 26 of 50 INFORMATION FOR MANAGEMENT Material Management Tactical Information Developing vendor performance measures. Determining optimal reorder levels. Determining issues of items to shops versus standard needs. Controlling high value of inventory. Determining impact on material cost and procurement with design changes and new product introduction. 1.3.10 System Analysis And Design © V. Rajaraman 27 of 50 INFORMATION FOR MANAGEMENT Material Management Operational Information List of excess & deficient items received. List of items rejected. Critical items received. Stores in transit and in inspection. Value of inventory in hand. Goods received, rejected and issued. 1.3.11 System Analysis And Design © V. Rajaraman 28 of 50 INFORMATION FOR MANAGEMENT Finance Management Strategic Information Methods of financing. Pricing policies. Tax planning. 1.3.12 System Analysis And Design © V. Rajaraman 29 of 50 INFORMATION FOR MANAGEMENT Finance Management Tactical Information Variations between budget and expenses. Large outstanding payments/Receipts. Credit and payment status. Cost increases and pricing. Impact of taxation on pricing 1.3.13 System Analysis And Design © V. Rajaraman 30 of 50 INFORMATION FOR MANAGEMENT Finance Management Operational Information Periodic financial report. Budget status to all functional managers. Tax returns. Share transfers. Profit and loss account. Payments and receipts. Payroll,provident fund accounts. 1.3.14 System Analysis And Design © V. Rajaraman 31 of 50 INFORMATION FOR MANAGEMENT Human Resource Management Strategic Information Long range human resource requirements. at different levels. Policies on human resource development and training Policies on personnel welfare and facilities 1.3.15 System Analysis And Design © V. Rajaraman 32 of 50 INFORMATION FOR MANAGEMENT Human Resource Management Tactical Information Performance appraisal. Demographic make-up of personnel and its impact on retirement. Production incentives. Morale of personnel. Absentee reduction. Leave and overtime policies. Personnel deployment policies. 1.3.16 System Analysis And Design © V. Rajaraman 33 of 50 INFORMATION FOR MANAGEMENT Human Resource Management Operational Information Routine assessment. Skills inventory. Loan/advances and recoveries. Leave record. 1.3.17 System Analysis And Design © V. Rajaraman 34 of 50 INFORMATION FOR MANAGEMENT Research Design & development Management Strategic Information Which products are to be developed? What types of improvements are required? What long range research is more promising? What technical collaboration would be appropriate? 1.3.18 System Analysis And Design © V. Rajaraman 35 of 50 INFORMATION FOR MANAGEMENT Research Design & development Management Tactical Information Setting intermediate goals. Checking availability of equipment & appropriate selection Determining proportions of resources to be allocated to different projects. Deployment of personnel to projects. Information on similar and related research projects undertaken by other companies 1.3.19 System Analysis And Design © V. Rajaraman 36 of 50 INFORMATION FOR MANAGEMENT Research Design & development Management Operational Information Progress against goals. Budgeted expenses versus actual expenses. Status of outstanding orders for equipment and components. 1.3.20 System Analysis And Design © V. Rajaraman 37 of 50 QUALITIES OF INFORMATION Quality How to ensure quality Accurate Ensure correct input and processing rules. Include all data. Give at right time Complete Timely 1.4.1 System Analysis And Design © V. Rajaraman 38 of 50 QUALITIES OF INFORMATION Quality How to ensure quality Trustworthy Do not hide unpleasant information. Understand user needs. Summarize relevant information. Relevant Brief 1.4.2 System Analysis And Design © V. Rajaraman 39 of 50 QUALITIES OF INFORMATION Quality How to ensure quality Up-to-date Include all data up to present time. Use attractive format & graphical charts. Significance 1.4.3 System Analysis And Design © V. Rajaraman 40 of 50 VARIETIES OF INFORMATION SYSTEMS Business Data processing – Operational information Management information system – Tactical information Decision support system(DSS) – strategic information 1.5.1 System Analysis And Design © V. Rajaraman 41 of 50 Business data processing system Enter data to be processed Edit, check input data Control check to see if the data is correct and reasonable Store clean data as an organized data base in a storage 1.5.2 System Analysis And Design © V. Rajaraman 42 of 50 Business data processing There are 2 methods of business data processing 1. On-line transaction processing(OLTP) 2. Batch processing OLTP is used for query processing and rapid actions to requests Example: Finding balance in one’s bank account Booking railway tickets Batch processing used for periodic data processing of massive data Example: Processing university exam results at the end of each semester Payroll computation each month 1.5.3 System Analysis And Design © V. Rajaraman 43 of 50 Online transaction processing Database (or master file) available online on disk Request in specified format accepted from requestor Check request for validity Retrieve record from database Take appropriate action 1.5.4 System Analysis And Design © V. Rajaraman 44 of 50 Batch processing Collect a batch of requests Key in Validate Create request file Called transaction file Update master file using transaction file Create result file Print responses for requests 1.5.5 System Analysis And Design © V. Rajaraman 45 of 50 OLTP Vs BATCH Response time Throughput (No of transaction/unit time) Enquiry systems Periodic processing • Once a day • Once a month OLTP FAST BATCH HIGH ONLINE BATCH STORES ISSUES PAYROLL 1.5.6 System Analysis And Design © V. Rajaraman 46 of 50 MANAGEMENT INFORMATION SYSTEM Analyse outputs of routine data processing using statistical or operations research tools Eg: -Observe periodic demands by statistical analysis & use for tactical decisions -Use operations research tools to decide product mix using demand and cost data to maximize profit 1.5.7 System Analysis And Design © V. Rajaraman 47 of 50 DECISION SUPPORT SYSTEM Unstructured and difficult to obtain precise information Use of analytical and simulation models Aids to conceptualise through graphs ,animation etc Use of archival data to infer trends and rules Some artificial intelligence tools may be used 1.5.8 System Analysis And Design © V. Rajaraman 48 of 50 DECISION SUPPORT SYSTEM Data mining a useful tool What is data mining? Data collected during routine data processing archived over a long period-massive amount(Tera Bytes) Some hypothetical rules guessed by experienced managers and correlated with archival data-called data mining 1.5.9 System Analysis And Design © V. Rajaraman 49 of 50 DECISION SUPPORT SYSTEM Example of data mining From archival data a rule guessed by managers that in some months there are long waiting lists for sleeper berths is verified-Data mining gives precise quantitative data Action Increase number of sleeper coaches or Introduce special trains Unexpected results of analysis of archival data more valuable for DSS 1.5.10 System Analysis And Design © V. Rajaraman 50 of 50 MODULE 1 INFORMATION FOR MANAGEMENT Motivation Large number of jobs today for computer science and engineering graduates is in creating information systems for managing organizations. Students should know what is information and how it is different from data, should know nature of organizations and their structure to design appropriate information system, should know management structure and needs of each level of management & should know functional areas of management and information needs for each area LEARNING UNIT 1 Data and Information, types of information : Operational, tactical, strategic, Statutory DATA AND INFORMATION DATA is a raw material with which we begin. Collecting data costs money and hence one must collect necessary and sufficient data. Data is generally used by machines and is useless unless it is processed to create INFORMATION. INFORMATION is Processed data, used by managers to initiate actions and to run the organization efficiently. The data processed by machines gives information TYPES OF INFORMATION STRATEGIC : Needed for long range planning and directions. This is less structured. TACTICAL : Needed to take short range decisions to improve profitability and performance. OPERATIONAL : Needed for day to day operations of the organization. Eg: Daily Sales, Billing. STATUTORY : Needed by law to sent to government authorities. Eg: Sales tax return. MANAGEMENT HIERARCHY AND INFORMATION NEEDS Volume of Information Low condensed Medium moderately processed Large Detailed Reports Type of Information Unstructured StrategicLong range planning Top Managers Middle Managers Line managers Moderately structured Highly structured Tactical Short range improvement Operational Day to day policies LEARNING UNIT 2 Why do we need information systems, management structure, requirements of information at different levels of management NEED FOR INFORMATION SYSTEMS Information systems are needed when timely processing for fast action is needed, same data has to be processed in different ways and when organizations require innovative processing. MANAGEMENT STRUCTURE Chief Executive (Strategical) Production manager Marketing manager Materials manager Finance manager Human Resource manager Line managers Functional areas of management are as follows: PRODUCTION MARKETING MATERIALS – purchase, stores FINANCE –Accounts HUMAN RESOURCE DEVELOPMENT(HRD) RESEARCH AND DEVELOPMENT (R&D) INFORMATION FOR MANAGEMENT A Production Management The following type of information is needed in production management: Strategic Information: 1)Yearly and monthly production quotas and alternate schedules 2)Policies on machine replacement, augmentation and modernization. 3)Identifying best product mix. Tactical Information 1)Identifying and controlling areas of high cost. 2) Identifying critical bottlenecks in production. 3) Identifying alternate production schedules based on tools, machines etc. 4) Performance measures of machines to decide replacement. Operational Information 1)Monitoring up to date production information by examining assemblies, detecting likely shortages and giving early warning. 2) Scheduling better production dynamically. 3) Preventive maintenance schedules. 4) Monitoring tool, machine and personnel availability B Marketing Management Strategic Information: 1) Search for new markets and marketing strategies. 2) Analysis of competitors strategy 3) Technology and demographic forecasts and product changes Tactical Information: 1)Advertising techniques and analysis of their impact. 2)Customer preference surveys. 3)Correlation of prices and sales. 4)Sales force deployment and targets. 5)Exploring alternate marketing channels. 6)Timing of special sales campaigns. Operational Information: 1) Sales analysis by regions, customer class, sales person. 2) Sales target versus achievement. 3) Market share and trends. 4) Seasonal variations. 5) Effect of model changes. 6) Performance of sales outlets 7) Costs of campaigns and benefit. C Material Management Strategic Information: 1) Developing vendors for critical items 2) Determining optimal levels of inventory 3) Determining proportion of material needed 4) Reducing varieties of inventory Tactical Information: 1) Developing vendor performance measures. 2) Determining optimal reorder levels. 3) Determining issues of items to shops versus 4) standard needs. 5) Controlling high value of inventory. 6) Determining impact on material cost and 7) procurement with design changes and new 8) product introduction. Operational Information: 1) List of excess & deficient items received. 2) List of items rejected. 3) Critical items received. 4) Stores in transit and in inspection. 5) Value of inventory in hand. 6) Goods received, rejected and issued. D Finance Management Strategic Information: 1) Methods of financing. 2) Pricing policies 3) Tax planning. Tactical Information: 1) Variations between budget and expenses. 2) Large outstanding payments/Receipts. 3) Credit and payment status. 4) Cost increases and pricing. 5) Impact of taxation on pricing Operational Information: 1) Periodic financial report. 2) Budget status to all functional managers. 3) Tax returns. 4) Share transfers. 5) Profit and loss account. 6) Payments and receipts. 7) Payroll,provident fund accounts. E Human Resource Management Strategic Information: 1) Long range human resource requirements at different levels. 2) Policies on human resource development and training 3) Policies on personnel welfare and facilities Tactical Information: 1) Performance appraisal. 2) Demographic make-up of personnel and its impact on retirement. 3) Production incentives. 4) Morale of personnel. 5) Absentee reduction. 6) Leave and overtime policies. 7) Personnel deployment policies. Operational Information: 1) Routine assessment. 2) Skills inventory. 3) Loan/advances and recoveries. 4) Leave record. System Analysis and Design / Data and Information Multiple Choice Questions 1.1 Information is a. Data b. Processed Data c. Manipulated input d. Computer output 1.2 Data by itself is not useful unless a. It is massive b. It is processed to obtain information c. It is collected from diverse sources d. It is properly stated 1.3 a b c d 1.4 a b c d 1.5 a b c d 1.6 a b c d For taking decisions data must be Very accurate Massive Processed correctly Collected from diverse sources Strategic information is needed for Day to day operations Meet government requirements Long range planning Short range planning Strategic information is required by Middle managers Line managers Top managers All workers Tactical information is needed for Day to day operations Meet government requirements Long range planning Short range planning 1.7 Tactical information is required by V. Rajaraman/IISc. Bangalore //V1/July 04/1 System Analysis and Design / Data and Information Multiple Choice Questions a b c d 1.8 Middle managers Line managers Top managers All workers Operational information is needed for a b c d Day to day operations Meet government requirements Long range planning Short range planning 1.9 Operational information is required by a b c d Middle managers Line managers Top managers All workers 1.10 Statutory information is needed for a b c d Day to day operations Meet government requirements Long range planning Short range planning 1.11 In motor car manufacturing the following type of information is strategic a b c d Decision on introducing a new model Scheduling production Assessing competitor car Computing sales tax collected 1.12 In motor car manufacturing the following type of information is tactical a Decision on introducing a new model b Scheduling production c Assessing competitor car d Computing sales tax collected 1.13 In motor car manufacturing the following type of information is operational V. Rajaraman/IISc. Bangalore //V1/July 04/1 System Analysis and Design / Data and Information Multiple Choice Questions a Decision on introducing a new model b Scheduling production c d 1.14 Assessing competitor car Computing sales tax collected In motor car manufacturing the following type of information is statutory a Decision on introducing a new model b Scheduling production c Assessing competitor car d Computing sales tax collected 1.15 In a hospital information system the following type of information is strategic a Opening a new children’s ward b Data on births and deaths c Preparing patients’ bill d Buying an expensive diagnostic system such as CAT scan 1.16 In a hospital information system the following type of information is tactical a Opening a new children’s’ ward b Data on births and deaths c Preparing patients’ bill d 1.17 Buying an expensive diagnostic system such as CAT scan In a hospital information system the following type of information is operational a Opening a new children’s’ ward b Data on births and deaths c Preparing patients’ bill d Buying an expensive diagnostic system such as CAT scan 1.18 In a hospital information system the following type of information is statutory a Opening a new children’s’ ward b Data on births and deaths c Preparing patients’ bill d Buying an expensive diagnostic system such as CAT scan V. Rajaraman/IISc. Bangalore //V1/July 04/1 System Analysis and Design / Data and Information Multiple Choice Questions 1.19 A computer based information system is needed because (i) The size of organization have become large and data is massive (ii) Timely decisions are to be taken based on available data (iii) Computers are available (iv) Difficult to get clerks to process data a (ii) and (iii) b (i) and (ii) c (i) and (iv) d (iii) and (iv) 1.20 Volume of strategic information is a Condensed b Detailed c Summarized d Irrelevant 1.21 Volume of tactical information is a Condensed b Detailed c Summarized d relevant 1.22 Volume of operational information is a Condensed b Detailed c Summarized d Irrelevant 1.23 Strategic information is a Haphazard b Well organized c Unstructured d 1.24 Partly structured Tactical information is a Haphazard V. Rajaraman/IISc. Bangalore //V1/July 04/1 System Analysis and Design / Data and Information Multiple Choice Questions b Well organized c Unstructured d Partly structured 1.25 Operational information is a Haphazard b Well organized c Unstructured d Partly structured 1.26 Match and find best pairing for a Human Resource Management System (i)Policies on giving bonus (ii)Absentee reduction (iii)Skills inventory a (i) and (v) b (i) and (iv) c (ii) and (iv) d (iii) and (v) 1.27 Match and find best pairing for a Production Management System (i) Performance appraisal of machines (iv)Strategic information to decide on replacement (ii)Introducing new production (iii)Preventive maintenance schedules (v)Tactical information technology (vi)Operational information for machines a (i) and (vi) b (ii) and (v) c (i) and (v) d (iii) and (iv) 1.28 Match and find best pairing for a Production Management System (i) Performance appraisal of machines (iv)Strategic information to decide on replacement (ii)Introducing new production (v)Tactical information technology (iv)Strategic information (v)Tactical information (vi)Operational Information V. Rajaraman/IISc. Bangalore //V1/July 04/1 System Analysis and Design / Data and Information Multiple Choice Questions (iii)Preventive maintenance schedules (vi)Operational information for machines a b c (iii) and (vi) (i) and (iv) (ii) and (v) d None of the above 1.29 Match and find best pairing for a Materials Management System (i) Developing vendor performance (iv) Strategic information measures (ii) Developing vendors for critical (iii)List of items rejected from a vendor a (i) and (v) b (ii) and (v) c (iii) and (iv) d (ii) and (vi) 1.30 Match and find best pairing for a Materials Management System (i)Developing vendor performance (ii)Developing vendors for critical (iii)List of items rejected from a vendor a (i) and (iv) b (i) and (vi) c (ii) and (iv) d (iii) and (v) 1.31 Match and find best pairing for a Materials Management System (i)Developing vendor performance (ii)Developing vendors for critical (iii)List of items rejected from a vendor a (i) and (vi) b (iii) and (vi) c (ii) and (vi) d (iii) and (iv) (iv)Strategic information measures (v)Tactical information items (vi)Operational information (iv)Strategic information measures (v)Tactical information items (vi)Operational information (v) Tactical information items (vi)Operational information V. Rajaraman/IISc. Bangalore //V1/July 04/1 System Analysis and Design / Data and Information Multiple Choice Questions 1.32 Match and find best pairing for a Finance Management System (i)Tax deduction at source report (ii)Impact of taxation on pricing (iii)Tax planning a (i) and (v) b (iii) and (vi) c (ii) and (v) d (ii)) and (iv) (iv)Strategic information (v)Tactical information (vi)Operational information 1.33 Match and find best pairing for a Finance Management System (i)Budget status to all managers (ii)Method of financing (iv)Strategic information (v)Tactical information (iii)Variance between budget and (vi)Operational information expenses a (i) and (v) b (iii) and (vi) c (ii) and (v) d (ii) and (iv) 1.34 Match and find best pairing for a Marketing Management System (i)Customer preferences surveys (ii)Search for new markets (iii)Performance of sales outlets a b (i) and (iv) (ii) and (v) (iv)Strategic information (v)Tactical information (vi)Operational information c (iii) and (vi) d 1.35 (ii) and (v) Match and find best pairing for a Marketing Management System (i)Customer preferences surveys (ii)Search for new markets (iii)Performance of sales outlets a (iii) and (iv) b (i) and (vi) c (i) and (v) (iv)Strategic information (v)Tactical information (vi)Operational information V. Rajaraman/IISc. Bangalore //V1/July 04/1 System Analysis and Design / Data and Information Multiple Choice Questions d (iii) and (v) 1.36 Match and find best pairing for a Research and Development Management System (i)Technical collaboration decision (ii)Budgeted expenses Vs actuals (iii)Proportion of budget to be (iv)Strategic information (v)Tactical information (vi)Operational information allocated to various projects a (i) and (iv) b (ii) and (v) c (iii) and (vi) d (iii) and (iv) 1.37 Match and find best pairing for a Research and Development Management System (i)Technical collaboration decision (ii)Budgeted expenses Vs actuals (iii)Proportion of budget to be various projects a (i) and (v) (iv)Strategic information (v)Tactical information (vi)Operational information allocated to b (iii) and (v) c (ii) and (v) d (i) and (vi) 1.38 Organizations are divided into departments because a it is convenient to do so b each department can be assigned a specific functional responsibility c it provides opportunities for promotion d it is done by every organization 1.39 Organizations have hierarchical structures because a it is convenient to do so b it is done by every organization c specific responsibilities can be assigned for each level d it provides opportunities for promotions V. Rajaraman/IISc. Bangalore //V1/July 04/1 System Analysis and Design / Data and Information Multiple Choice Questions 1.40 Which of the following functions is the most unlikely in an insurance company. a Training b giving loans c bill of material d accounting 1.41 Which of the following functions is most unlikely in a university a admissions b accounting c conducting examination d marketing 1.42 Which of the following functions is most unlikely in a purchase section of an organization. a Production planning b order processing c vendor selection d training 1.43 Which is the most unlikely function of a marketing division of an organization. a advertising b sales analysis c order processing d customer preference analysis 1.44 Which is the most unlikely function of a finance section of a company. a Billing b costing c budgeting d labor deployment 1.45 Match quality of information and how it is ensured using the following list QUALITY (i) Accurate HOW ENSURED (iv) Include all data V. Rajaraman/IISc. Bangalore //V1/July 04/1 System Analysis and Design / Data and Information Multiple Choice Questions (ii) Complete (iii)Timely a (i) and (v) b (ii) and (vi) c (iii) and (vi) d (i) and (iv) 1.46 (v) Use correct input and processing rules (vi) Include all data up to present time Match quality of information and how it is ensured using the following list QUALITY (i) Accurate (ii) Complete (iii) Timely a (ii) and (v) b (ii) and (vi) c (ii) and (iv) d (iii) and (iv) HOW ENSURED (iv) Include all data (v) Use correct input and processing rules (vi) Include all data up to present time 1.47 Match quality of information and how it is ensured using the following list QUALITY (i) Up-to-date (ii) Brief (iii) Significance HOW ENSURED (iv) Include all data to present time (v) Give at right time (vi) Use attractive format and understandable graphical charts a (i) and (v) b (ii) and (vi) c (iii) and (vi) d (i) and (vi) 1.48 Match quality of information and how it is ensured using the following list QUALITY (i)Up- to-date (ii)Brief HOW ENSURED (iv) Include all data to present time (v) Give at right time V. Rajaraman/IISc. Bangalore //V1/July 04/1 System Analysis and Design / Data and Information Multiple Choice Questions (iii) Significance (vi) Use attractive format and understandable graphical charts a (i) and (iv) b (ii) and (v) c (iii) and (iv) d (ii) and (iv) 1.49 Match quality of information and how it is ensured using the following list QUALITY (i)Brief (ii)Relevant (iii) Trustworthy a (i) and (iv) b (ii) and (v) c (iii) and (vi) d (i) and (v) 1.50 Match quality of information and how it is ensured using the following list QUALITY (i)Brief (ii)Relevant (iii)Trustworthy a (ii) and (vi) b (i) and (iv) c (iii) and (v) d (ii) and (iv) 1.51 The quality of information which does not hide any unpleasant information is known as a Complete b Trustworthy c Relevant d None of the above 1.52 The quality of information which is based on understanding user needs HOW ENSURED (iv) Unpleasant information not hidden (v) Summarize relevant information (vi) Understands user needs HOW ENSURED (iv) Unpleasant information not hidden (v) Summarize relevant information (vi) Understands user needs V. Rajaraman/IISc. Bangalore //V1/July 04/1 System Analysis and Design / Data and Information Multiple Choice Questions a Complete b Trustworthy c Relevant d None of the above 1.53 Every record stored in a Master file has a key field because a it is the most important field b it acts as a unique identification of record c it is the key to the database d it is a very concise field 1.54 The primary storage medium for storing archival data is a floppy disk b magnetic disk c magnetic tape d CD- ROM 1.55 Master files are normally stored in a a hard disk b a tape c CD – ROM d computer’s main memory 1.56 Master file is a file containing a all master records b all records relevant to the application c a collection of data items d historical data of relevance to the organization 1.57 Edit program is required to a authenticate data entered by an operator b format correctly input data c detect errors in input data d expedite retrieving input data 1.58 Data rejected by edit program are a corrected and re- entered V. Rajaraman/IISc. Bangalore //V1/July 04/1 System Analysis and Design / Data and Information Multiple Choice Questions b removed from processing c collected for later use d ignored during processing 1.59 Online transaction processing is used because a it is efficient b disk is used for storing files c it can handle random queries. d Transactions occur in batches 1.60 On-line transaction processing is used when i) it is required to answer random queries ii) it is required to ensure correct processing iii) all files are available on-line iv) all files are stored using hard disk a i ,ii b i, iii c ii ,iii, iv d i , ii ,iii 1.61 Off-line data entry is preferable when i) data should be entered without error ii) the volume of data to be entered is large iii) the volume of data to be entered is small iv) data is to be processed periodically a i, ii b ii, iii c ii, iv d iii, iv 1.62 Batch processing is used when i) response time should be short ii) data processing is to be carried out at periodic intervals iii) transactions are in batches iv) transactions do not occur periodically V. Rajaraman/IISc. Bangalore //V1/July 04/1 System Analysis and Design / Data and Information Multiple Choice Questions a i ,ii b i ,iii,iv c ii ,iii d i , ii ,iii 1.63 Batch processing is preferred over on-line transaction processing when i) processing efficiency is important ii) the volume of data to be processed is large iii) only periodic processing is needed iv) a large number of queries are to be processed a i ,ii b i, iii c ii ,iii d i , ii ,iii 1.64 A management information system is one which a is required by all managers of an organization b processes data to yield information of value in tactical management c provides operational information d allows better management of organizations 1.65 Data mining is used to aid in a operational management b analyzing past decision made by managers c detecting patterns in operational data d retrieving archival data 1.66 Data mining requires a large quantities of operational data stored over a period of time b lots of tactical data c several tape drives to store archival data d large mainframe computers 1.67 Data mining can not be done if a operational data has not been archived b earlier management decisions are not available V. Rajaraman/IISc. Bangalore //V1/July 04/1 System Analysis and Design / Data and Information Multiple Choice Questions c the organization is large d all processing had been only batch processing 1.68 Decision support systems are used for a Management decision making b Providing tactical information to management c Providing strategic information to management d Better operation of an organization 1.69 Decision support systems are used by a Line managers. b Top-level managers. c Middle level managers. d System users 1.70 Decision support systems are essential for a Day–to-day operation of an organization. b Providing statutory information. c Top level strategic decision making. d Ensuring that organizations are profitable. V. Rajaraman/IISc. Bangalore //V1/July 04/1 System Analysis and Design / Data and Information Multiple Choice Questions Key to Objective Questions 1.1 b 1.2 b 1.3 c 1.4 c 1.5 c 1.6 d 1.7 a 1.8 a 1.9 b 1.10 b 1.11 a 1.12 c 1.13 b 1.14 d 1.15 d 1.16 a 1.17 c 1.18 b 1.19 b 1.20 a 1.21 c 1.22 b 1.23 c 1.24 d 1.25 b 1.26 b 1.27 c 1.28 a 1.29 a 1.30 c 1.31 b 1.32 c 1.33 d 1.34 c 1.35 c 1.36 a 1.37 b 1.38 b 1.39 c 1.40 c 1.41 d 1.42 a 1.43 c 1.44 d 1.45 a 1.46 c 1.47 c 1.48 a 1.49 d 1.50 a 1.51 b 1.52 c 1.53 b 1.54 c 1.55 a 1.56 b 1.57 c 1.58 a 1.59 c 1.60 b 1.61 c 1.62 c 1.63 d 1.64 b 1.65 c 1.66 a 1.67 a 1.68 c 1.69 b 1.70 c V. Rajaraman/IISc. Bangalore //V1/July 04/1 MODULE 1 INFORMATION FOR MANAGEMENT WORKED EXAMPLES 1.1) If an information system were to be designed for a hospital, what would be the strategic and tactical information? Strategic information in hospital 1.Cost-benefit of a new expensive diagnostic instrument. (Such as CAT scanner). 2. Long-term forecasts for opening a ward for old age patients. 3.Technical developments in routine diagnostic instruments and decision to upgrade existing instruments. Tactical information in hospital 1.Optimum replacement periods and use of expensive instruments. 2.Optimum level of drugs to be stocked keeping in view expiry dates of drugs. 3.Operation theatre utilization data for improved performance 1.2) For a hospital information system what would be the Operational information required? 1. 2. 3. 4. List of patients discharged, admitted in every department. Occupancy of beds and schedules for admission of patients. Absenteeism data of nurses and technicians. Operation theatre allotment and schedules. 1.3) What is statutory information? What statutory information is expected from a hospital? Information and reports that are required by law to be sent to the government authority is called statutory information. Statutory Information for Hospital 1. Birth and death records. 2. Infectious diseases record. 3. Profit and loss account. 1.4) What type of Statutory information is to be provided by a small-scale industry? Any information required by law to be sent to government authorities such as: 1. Income Tax returns 2. Sales tax returns 3. Excise duty 4. Employee state Insurance 1.5) Is up-to-date information always timely? If not, give an example of up-todate but not timely information? No, it is not necessary that up-to-date information is always timely. For example giving the correct information about the casualties and the damage caused due to earthquake after a week. Another example is delivering a newspaper dated 16 June with information Up-to-date a week late. Module 1: Data and Information 1.1 Distinguish between data and information. Give two examples of data and information obtained by processing data. 1.2 1.3 Give two examples of non-arithmetic data processing. What is the main difference between strategic and tactical information? If an information system is to be designed for a hospital, what would be the strategic and tactical information? 1.4 What is operational information? In what way is it different from strategic information? For hospital information system what would be the operational information required? 1.5 What is statutory information? What statutory information is expected from a hospital? 1.6 1.7 What type of statutory information is to be provided by a small scale industry? What would you think are the strategic, tactical and operational information needed by an Electric Power Generation Corporation? 1.8 What would be the strategic, tactical and operational information needs of a State Road Transport Corporation? 1.9 1.10 1.11 What do you think are the functional management areas in a large University? What do you think are the functional management areas in a large student hostel? What would be the strategic, tactical and operational management responsibility assignments in a large hostel? What type of information would be needed for managing the kitchen of the hostel? 1.12 1.13 Give an example of incomplete information. What is the difference between accuracy and trustworthiness of information? 1.14 Is uptodate information always timely? If not, give an example of uptodate but not timely information. 1.15 1.16 1.17 1.18 Does an attractive format of a report necessarily imply that it is relevant? Why are organizations divided into departments and sections? What are the primary functions of a marketing department of an organization? In what ways do different departments in an organization interact? Give an example. 1.19 1.20 1.21 Enumerate some functions which are common among many organizations. Enumerate some functions which are common between a hostel and a hospital. Explain how data will be processed to meet the functional requirements of a purchase department. 1.22 Explain how data will be processed in a bank when a cheque is presented by a customer and payment made to him (assume that the bank uses computers). 1.23 1.24 Why is editing important in data entry? What is the difference between on-line transaction processing and batch processing? 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 When is batch processing preferred? What is the basic difference between business data processing systems and MIS? What type of information is provided by MIS? What is the difference between MIS and DSS? What will an MIS provide in a marketing function? What will a DSS provide in a marketing function? What do you understand by archival data? How can archival data be used? What is data mining? Give an example of data mining. System Analysis and Design/Information for Management Case Study INFORMATION PROCESSING FOR A STORE - AN OVERVIEW – A Small Case Example In what follows we will present a broad overview of how data is processed to meet the functional requirements of a store. The presentation below will be an overview. The important functions of a store are: • • • • • to keep an up to date ledger containing stock positions, cater to requisitions for issue of items from the store, initiate reorder of items whose stock is below a specified limit, update stock register when items are received, and answer enquiries regarding availability of items in stores. In a computer based system the stock ledger is organized in a suitable form for easy updating and retrieval and recorded on a magnetic disk. Magnetic disk storage is the primary storage medium for storing large data bases. This is due to the fact that any record can be directly accessed. Magnetic tapes are used primarily as a back-up storage unit for keeping copies of data on disk. Tapes are also useful for storing old files and for interchanging files between different computers. In order to create a stock ledger for a computer-based system it is necessary to first assign unique codes for each item in the store. The unique code assigned to each item is known as the key of the item record and identifies the record. After that it is necessary to find out what data fields are needed for each item in the stock. The fields are determined by working backwards, that is, first asking what outputs are needed and based on that V. Rajaraman/IISc M1/V1/July 2004/1 System Analysis and Design/Information for Management Case Study determining the data needed. The fields are organized as a record and stored in a data base. This data base is the primary or master file for the store. (It is the computer readable version of a stock ledger used in a store). Once the record format for each item in the store is determined, one record is created for each item in the store. These records are entered manually by a data entry operator who enters the records using a keyboard of a terminal connected to the computer. This is called on-line data entry. Data may also be entered on a separate computer such as Personal Computer (PC) and stored on a floppy disk. This is called off-line data entry. In off-line data entry the data entry machine is a low cost machine. If the volume of data to be entered is very large, then a number of machines can be used and data prepared, checked and corrected. As opposed to this, an on-line data entry method uses terminals connected to the computer. In such a case the computer should be timeshared. On-line data entry is appropriate for inserting, deleting or correcting some records in fields. The data on floppy disk can then be transferred to the disk connected to the computer. Off-line entry is used when the data base is very large and the computer used is a server or a mainframe computer. If the data base is small, the PC itself may be used for data entry and for data processing. Before data is stored in the disk-file it must be ensured that any errors made during data entry is detected and corrected. This is done by a program called an edit program and a V. Rajaraman/IISc M1/V1/July 2004/2 System Analysis and Design/Information for Management Case Study control total checking program. Such programs are essential to ensure the validity of data in a master file. A procedure similar to the one used to create the master file is also used to keep the data in the master file up-to-date when new items are received or new stock of items already in the ledger are received. Table 1 summarizes the operations performed for other functions. The format of a record for entering requests uses the same item codes assigned in creating the master file. Other fields are determined based on what outputs are needed. In this case a reasonable format for requests is: (item code, item name, quantity requested) Table 1 Operations Performed in Stores Information Processing 1. Create stock ledger • Codify items • Determine data fields needed for each item • Create a record for each item • Organize the records as a data base Issues/Reorder • Codify items • Determine data fields required in each request • Determine data fields required for each issue • Create record format for requests and issues • Create record format for reorder Receipts • Codify items • Determine data fields required in each receipt • Create record format for receipts Enquiry • Codify items • Record format for enquiry • Record format for response 2. 3. 4. The record format for a reorder request would be: item code, item name) V. Rajaraman/IISc M1/V1/July 2004/3 System Analysis and Design/Information for Management Case Study ( The quantity to be reordered is normally stored in the file maintained by the Purchase department) The record format for issues would be : (item code, item name, quantity requested, quantity issued) The request record is entered through a keyboard by a requester. It is checked for validity by a program. A valid request is forwarded to a retrieval program which retrieves the data on the requested item from the Master file on disk. The item code in the request is used as the key for retrieval. If the requested number of items is available, then an issue slip is printed; otherwise a reorder request is printed. Care must, however, be taken to ensure that once a reorder is requested it is not requested again till the item reordered is taken into stock. Each request slip processed by the computer is called a transaction. If each request is processed as and when it arrives and the terminal on which the request is entered is connected to the computer, then the processing method is called On-Line Transaction Processing (OLTP). There is another method of processing requests. A number of requests arriving during a day (for example) are collected and formed into a batch. The data in such a batch can be keyed-in off-line and a floppy disk created. This floppy disk can then be used to enter requests on the computer which has the Master file. The entire batch is processed and outputs are printed. This mode of processing is called batch processing. Batch processing is usually more efficient. It, however, is not as timely as on-line processing. In operations such as payroll processing which is done periodically, batch processing is more appropriate. V. Rajaraman/IISc M1/V1/July 2004/4 System Analysis and Design/Information for Management Case Study Enquiry system is normally an on-line transaction processing system as it is the most natural way of answering users' queries. In an enquiry system also, a user's query is first checked for validity of item code, etc. before it is processed. A variety of information systems used in practice are primarily on-line transaction processing systems. Common examples are airlines and railway ticket reservation systems. Designing such systems require special care to ensure that response to enquiries are fast and that the system has a “hot standby” if there is a failure. High reliability is required as failures can be catastrophic (imagine many persons getting the same berth reserved on a train). Similarly reliability and availability is essential in on-line banking systems. MIS and DSS for Stores The processing methods presented in the last para are for routine data processing. The information they provide is operational information. The system required to obtain tactical information require further processing. Such systems are known as Management Information Systems (MIS). In the stores processing case study, some tactical decisions would be: at what stock level should reorder be initiated? How much should be reordered? These are determined based on data such as rate of issue of each item, time needed for delivery from date of order, transport cost, storage cost, shelf life, and loss incurred if an item is out-of-stock. These data have to be collected separately over a period of time, often as a byproduct of a routine data processing system. In the stores case daily issues of some critical items can be abstracted and the average issue can be computed. Data on delivery times, transport cost etc. can be separately collected. Well V. Rajaraman/IISc M1/V1/July 2004/5 System Analysis and Design/Information for Management Case Study known methods of operations research can then be used to compute stock level for initiating reorder and the optimal quantity to be reordered. Operational data collected over a period of time is called data archives and the process of collecting it is called data archiving. With the availability of massive disks in which terabytes (1012 bytes) of data can be stored, it has become feasible to analyse the archived data. Analyzing archived data to observe patterns which assist in management decision making is called data mining. A stores manager may, based on his experience, think that in the months of October, December and April the sale of sugar is very high compared to other months. This conjecture maybe verified by data mining. In data mining a rule is formulated which may say that in October sugar sale is 1.5 times the average, in December it is 1.3 times normal and in April it is 1.4 times normal. This rule may be verified within a specified margin of error by examing the data archive. If the rule turns out to be correct, a manager will be able to decide how much sugar is to be stocked in these months. This is a simple example of the use of archival data and data mining to assist in tactical management. As another example of tactical information requirement, let us consider the question of fixing credit limits for customers. In order to arrive at this, the following inputs would be useful: • Customer details such as income, occupation etc. • • • Customer payment history Volume of purchase by customer Outstanding dues (if any) from the customer. V. Rajaraman/IISc M1/V1/July 2004/6 System Analysis and Design/Information for Management Case Study Using these one may formulate some rules to arrive at the credit limits and also predict their possible effect such as: • • anticipated effect on sales caused by varying credit limits anticipated loss/profit due to credit limits. By analyzing the impact of credit limits as specified above, a decision may be arrived at to fix credit limits. The primary point to note is that one has to formulate a model and sometimes simulate a system to obtain tactical information. The operational information from routine processing becomes an input to obtain tactical information. Strategic information is obtained through what are known as Decision Support Systems (DSS). In the stores example a strategic decision would be to reduce variety in inventory by discontinuing some items in store, deciding what new items to introduce in the store, and when to open a new branch. Decisions such as these require provisions for a variety of data transformations and representations. Strategic information is often unstructured. Strategic decisions are made after trying to answer questions such as "What will be the profit if I take a decision and what will be the long range loss if I don't take it?". In a complex decision many parameters will be involved. Identifying these and predicting their impact on a decision needs judgements coupled with analysis. For example, taking a strategic decision of whether to open a new branch or not would require the following information: • • • Projected demands in the new branch Impact on current branch Pricing in new branch V. Rajaraman/IISc M1/V1/July 2004/7 System Analysis and Design/Information for Management Case Study • • Competition in new location Profitability of new branch These have to be provided using analytical and simulation model known as decision support models. These models are more difficult to evolve than those needed in tactical information development. Decision support systems should also provide aids to the manager for conceptualization such as charts, graphs, etc. They should also provide facilities to ask a variety of queries on the data base. A variety of summary reports should be made available on request. The overall purpose of decision support systems is to aid in strategic, unstructured decision making. Developing such systems is much more difficult than developing operational systems. They, however, are the ones required by the top management of organizations. V. Rajaraman/IISc M1/V1/July 2004/8 MODULE 1 REFERENCE BOOKS 1. Most of the material in this chapter has been taken from the book “Analysis and Design of Information Systems” and the accompanying Self-Study guide written by V.Rajaraman and published by Prentice Hall of India, new Delhi (2002) (Permission of publisher taken). 2. The following books have a good treatment of Information Systems: (i) Systems Analysis and Design, by K.E.Kendall and J.E.Kendall, Pearson Education (Asia) India reprint 2003 Chapter 1 pp.1 to 4 and Chapter 2 pp. 29 to 45 deal with the topic of understanding organizations. The examples are more relevant to U.S.A. rather than our country. (ii) Modern System Analysis and Design, by J.A.Hoffer, George J.F. and Valacich J.S., Pearson Education (Asia) Indian Reprint 2002. pp.15-17 have a very short treatment of what we give in Module1 (iii)Information Systems Today by LiJessup and J.Valacich, Prentice Hall of India, 2003. Chapter 6, pp.168 to 198 deal with organizational structure. (iv) Management Information Systems (The Manager’s View), by R.Schultheis and M.Sumners, Tata McGraw Hill, 1999. Part III pp.356 to 457 have a very detailed discussion of operational, tactical and strategic management and appropriate information systems. (v) Management Information Systems, by K.E.Laudon and J.P.Laudon, Pearson Education Asia, Indian Reprint 2004. Chapter 2, pp. 36 to 71 cover the topics discussed in Module in great detail. SUMMARY OF MODULE 1 1. Data and information are not synonymous. Information is processed data. Data may be processed by performing arithmetic operations on them. Data may also be processed by reorganizing them by applying appropriate rules such as sorting, merging, selection, matching, filtering etc. 2. Information requirements for managing organizations may be classified as strategic, tactical and operational. 3. Strategic information is needed for long range planning. It is less structured and difficult to obtain by processing raw data. 4. Tactical information is used to take short range decisions and for better control of the functioning of the organization. It requires complex and ingenious processing of data. 5. Operational information is used for day-to-day management of organizations. It is obtained by simple processing of data, it is well structured, and more voluminous. 6. 7. Statutory information consists of reports to be sent to government by law. Management of organizations is divided functionally. Depending on the size of the organization, each function maybe delegated to different managers. 8. Large organizations would have a hierarchical management structure with top level managers, middle level managers and line managers. 9. Top level managers are expected to make policies and need strategic information. Middle level mangers direct and control the functioning of organization to achieve optimal performance and need tactical information. Line managers supervise day- to-day operations and steer operations to meet targets set by middle level managers. They need operational information. 10. The primary functional areas of many organizations are: Human Resource Development, Production, Materials, Finance, Marketing and Research, Design and Development. Organizations are divided into many departments, each with a specific set of 11. functions. 12. Even though an organization may have some specialized functions, many functions such as Accounts, Human resource development, Stores, Purchase are common among organizations. 13. Each function in an organization needs operational, tactical and strategic information. 14. The information given to managers must be accurate, complete and trustworthy. It must also be uptodate and timely. It must be relevant, brief, attractively presented and its significance understandable. 15. 16. 17. Operational data is codified and stored in a Master file (or a central data base). A request for retrieving a record from a Master file is called a transaction. The method of processing data in which transactions are grouped together and processed as a batch is called batch processing. 18. The method of processing data in which transactions are processed by a computer as and when they arise is called On-Line Transaction Processing (OLTP). 19. Routine data processing systems (DPS) are used to obtain operational information. These are normally repetitive. We may call this operational information system. 20. Data abstracted from routine data processing are further processed using well thought out rules to obtain tactical information. Management Information Systems (MIS). Such systems are called 21. Information from multiple sources in an organization are normally presented in summarised forms such as graphs and charts to aid top management to take strategic decisions. Such systems are called Decision Support Systems (DSS). 22. Data used in operational data processing is normally stored in many organizations as back up or for legal reasons. These are called data archives. 23. The archived data may be analysed to obtain tactical and strategic information. This is called data mining. MODULE 2 SYSTEMS ANALYSIS AND DESIGN LIFE CYCLE OBJECTIVE QUESTIONS There are 4 alternative answers to each question. One of them is correct. Pick the correct answer. Do not guess. A key is given at the end of the module for you to verify your answer LEARNING UNIT 1 2.1 The major goal of requirement determination phase of information system development is a) determine whether information is needed by an organization b) determine what information is needed by an organization c) determine how information needed by an organization can be provided d) determine when information is to be given 2.2 Information requirements of an organization can be determined by a) interviewing managers and users and arriving at the requirements based on consensus b) finding out what similar organizations do c) telling organization what they need based on your experience d) sending a questionnaire to all employees of the organization 2.3 It is necessary to prioritize information requirements of an organization at the requirements determination phase as a) it is always good to prioritize b) there are conflicting demands from users c) there are constraints on budgets, available time, human resource and requirement d) all good organization do it 2.4 Requirement specification is carried out a) after requirements are determined b) before requirements are determined c) simultaneously with requirements determination d) independent of requirements determination 2.5 The role of a system analyst drawing up a requirements specification is similar to a) architect designing a building b) a structural engineer designing a building c) a contractor constructing a building d) the workers who construct a building 2.6 It is necessary to consult the following while drawing up requirement specification a) only top managers b) only top and middle management c) only top, middle and operational managers d) top, middle and operational managers and also all who will use the system 2.7. In order to understand the working of an organization for which a computer based system is being designed, an analyst must a) look at only current work and document flow in the organization b) discuss with top level and middle level management only c) interview top, middle, line managers and also clerks who will enter data and use the system d) only clerical and middle level staff who have long experience in the organization and will be users of the system LEARNING UNIT 2 2.8. A feasibility study is carried out a) after final requirements specifications are drawn up b) during the period when requirements specifications are drawn up c) before the final requirements specifications are drawn up d) at any time 2.9. The main objective of feasibility study is a) to assess whether it is possible to meet the requirements specifications b) to assess if it is possible to meet the requirements specified subject to constraints of budget, human resource and hardware c) to assist the management in implementing the desired system d) to remove bottlenecks in implementing the desired system 2.10. It is necessary to carry out a feasibility study as a) top management can not ensure that a project is feasible before calling a system analyst b) top management is not sure what they want from the system c) even though top management is in favor of the system, technology may not be mature for implementation d) all organizations do it 2.11. Feasibility study is carried out by a) managers of the organization b) system analyst in consultation with managers of the organization c) users of the proposed system d) systems designers in consultation with the prospective users of the system 2.12. Initial requirements specification is a) not changed till the end of the project b)continuously changed during project implementation c) only a rough indication of the requirement d) changed and finalized after feasibility study 2.13. Final specifications are drawn up by a) system analyst in consultation with the management of the organization b) the managers of user organization c) system analyst in consultation with programmers d) system designers along with users 2.14. The main goal of arriving at a final specification is a) to tell the organization’s managers how the system will function b) to tell the organization’s managers what the proposed system will achieve in a language understood by them c) to compute the cost of implementing the system d) to assist in designing the system 2.15. The final specifications are arrived at a) after feasibility study b) during feasibility study c) just before implementation phase d) when the system is being designed 2.16. System approval criteria are specified a) when the final specifications are drawn up b) during feasibility study c) during the requirements specifications stage d) during system study stage 2.17 System test plan is specified a) when the final specifications are drawn up b) during feasibility study c) during the requirements specifications stage d)during system study stage 2.18. Hardware study is required a) to find out cost of computer system needed b) to determine the type of computer system and software tools needed to meet the final system specification c) to make sure that the system does not become obsolete d) to find how to implement the system 2.19. Hardware study is carried out a) after the final system is specified b) at the requirements specification stage c) before the requirements are specified d) whenever management decides it is necessary 2.20. System design is carried out a) as soon as system requirements are determined b) whenever a system analyst feels it is urgent c) after final system specifications are approved by the organization d) whenever the user management feels it should be done 2.21. The primary objective of system design is to a) design the programs, databases and test plan b) design only user interfaces c) implement the system d) find out how the system will perform 2.22. The primary objective of system implementation is i) to build a system prototype ii) to train users to operate the system iii) to implement designed system using computers iv) write programs, create databases and test with live data a) i, iii b) i, ii, iii c) ii ,iii d) ii, iv 2.23. During system implementation the following are done i) programs are written and tested with operational data ii) user documentation is created and users trained iii) programmers are recruited and trained iv) the system is tested with operational data a) i and iii b) ii and iii c) ii and iv d) i, ii & iv 2.24. System evaluation is carried out a) after the system has been operational for a reasonable time b) during system implementation c) whenever managers of user organization want it d) whenever operational staff want it 2.25. The main objective of system evaluation is a) to see whether the system met specification b) to improve the system based on operational experience for a period c) to remove bugs in the programs d) to asses the efficiency of the system 2.26.Systems are modified whenever a) user’s requirements change b) new computers are introduced in the market c) new software tools become available in the market d) other similar organization modify these system 2.27. The main objective of system modification is a) to use the latest software tools b) to meet the user’s new/changed needs c) to use the latest hardware d) to have the most modern system 2.28. To easily modify the existing system it is necessary to a) use good software tools b) use the best hardware available c) design the system which can be changed at low cost d) keep the programming team happy 2.29 .It is necessary to design an information system to easily accommodate change, because a) new computers are introduced every year b) new computer languages become popular every year c) organizations’ requirements change over a period of time d) systems need continuous debugging 2.30. Changing an operational information system is a) impossible b) expensive and done selectively c) never required d) usually done LEARNING UNIT 3 2.31. System analysts have to interact with i) managers of organizations ii) users in the organization iii) programming team iv) data entry operator a) iii and iv b) i, ii and iii c) ii, iii and iv d) ii and iii 2.32. The primary responsibility of a systems analyst is to a) specify an information system which meets the requirements of an organization b) write programs to meet specifications c) maintain the system d) meet managers of the organization regularly 2.33. The responsibilities of a system analyst include i) defining and prioritizing information requirement of an organization ii) gathering data, facts and opinions of users in an organization iii) drawing up specifications of the system for an organization iv) designing and evaluating the system a) i and ii b) i, ii and iv c) i, ii, iii and iv d) i, ii and iii 2.34 The most important attribute of a systems analyst is a) excellent programming skills b) very good hardware designing skills c) very good technical management skills d) very good writing skills 2.35 Among the attributes of a good systems analyst the following are essential i) knowledge of organization ii) analytical mind iii) ability to communicate orally iv) excellent mathematical abilities a) i and ii b) i, ii and iii c) i, ii and iv d) i, iii and iv 2.36 Among the attributes of a systems analyst the following are most important i) knowledge of computer systems and currently available hardware ii) good interpersonal relations iii) broad knowledge about various organizations iv) very good accountancy knowledge a) i, iii and iv b) i and iii c) i, ii and iv d) i, ii and iii 2.37. Managers in organizations should not design their own systems as a) systems have to interact with other systems b) they do not have the special skills necessary to design systems c) it is not their job d) they are always very busy 2.38 Systems analyst should use software tools in their work as a) all analysts use them b) they assist in systematic design of systems c) they are inexpensive d) they are easily available Key To Objective Questions 2.1 2.7 2.13 2.19 2.25 2.31 2.37 b c a a b b b 2.2 2.8 2.14 2.20 2.26 2.32 2.38 a c b c a a b 2.3 2.9 2.15 2.21 2.27 2.33 c b a a b d 2.4 2.10 2.16 2.22 2.28 2.34 a c a d c c 2.5 2.11 2.17 2.23 2.29 2.35 a b a d c b 2.6 2.12 2.18 2.24 2.30 2.36 d c b a b d MODULE 2 SYSTEMS ANALYSIS AND DESIGN LIFE CYCLE Contents 2.1 Systems Analysis and Design life Cycle: Requirements determination, requirements specifications 2.2 Feasibility analysis, final specifications, hardware and software study, system design, system implementation, system evaluation, system modification. 2.3 Role of systems analyst, attributes of system analyst, tools used in system analysis Systems Analysis And Design © V. Rajaraman MOTIVATION Designing Information system for an organization is a very complex job. Students should know how to logically divide a complex job into smaller manageable steps. Each step must have a logical beginning and end and must be self contained. System Analysis And Design © V. Rajaraman 1 of 23 MOTIVATION Division of large jobs into logical steps will • Enable one to assess progress at the end of each step • Steps may be assigned to persons with specialized competance • Allocation of human and financial resources appropriate for each step can be planned System Analysis And Design © V. Rajaraman 2 of 23 LEARNING GOALS 1. Nine Steps in designing Information Systems. 2. Tasks performed in each step. 3. Nature of tasks performed by Systems Analysts. 4. The attributes of Systems Analysts. 5. The tools used by Systems Analysts. System Analysis And Design © V. Rajaraman 3 of 23 LIFE CYCLE OF SYSTEMS ANALYSIS AND DESIGN Steps involved in Analysis and Design 1. 2. 3. 4. 5. 6. 7. 8. 9. 2.1.1 Requirements Determinations Requirements Specifications Feasibility Analysis Final Specifications Hardware Study System Design System Implementation System Evaluation System Modification System Analysis And Design © V. Rajaraman 4 of 23 LIFE CYCLE OF SYSTEMS ANALYSIS AND DESIGN Step 1 : Requirements Determination Arrived at by a consensus among managers Priorities among applications determined Pick high priority applications. 2.1.2 System Analysis And Design © V. Rajaraman 5 of 23 LIFE CYCLE OF SYSTEMS ANALYSIS AND DESIGN Step 2 : Requirements Specification Known as System Requirements Specification (SRS) Understand the existing System Applications where a system is required are listed Arrive at the specifications of the users’ Requirements after discussions with the user A system may encompass several applications 2.1.3 System Analysis And Design © V. Rajaraman 6 of 23 LIFE CYCLE OF SYSTEMS ANALYSIS AND DESIGN Step 3 : Feasibility Analysis Formulate Goals of the system and quantify goals Find alternative methods of meeting the goals For each alternative assess resources needed - Human Resources - Time and Money - Equipment needed Assess cost of each alternative Find the best alternative method subject to resource constraints 2.2.1 System Analysis And Design © V. Rajaraman 7 of 23 LIFE CYCLE OF SYSTEMS ANALYSIS AND DESIGN Step 4 : Final Specifications Specifications would state what the system would achieve. Specification drawn up are improved for implementation. SRS written- given to user and agreement reached 2.2.2 System Analysis And Design © V. Rajaraman 8 of 23 LIFE CYCLE OF SYSTEMS ANALYSIS AND DESIGN Step 5 : Hardware Study Determine Hardware and Software required to execute the application. Determine Response time,Volume of data to be processed, Frequency of reports etc & then pick the hardware. 2.2.3 System Analysis And Design © V. Rajaraman 9 of 23 LIFE CYCLE OF SYSTEMS ANALYSIS AND DESIGN Step 6 : System Design Logical Design of the System Objects Identified Database Designed Program Specification drawn up Implementation Plan Drawn up Test Plan System Analysis And Design 2.2.4 © V. Rajaraman 10 of 23 LIFE CYCLE OF SYSTEMS ANALYSIS AND DESIGN Step 7 : System Implementation Write Programs Create Database Document System Train Users Trial run of the system Test and Accept 2.2.5 System Analysis And Design © V. Rajaraman 11 of 23 LIFE CYCLE OF SYSTEMS ANALYSIS AND DESIGN Step 8 : System evaluation Find out from Users whether the System meets specified requirements. List areas of dissatisfaction and find reasons Suggest if there has to be any improvements to the system 2.2.6 System Analysis And Design © V. Rajaraman 12 of 23 LIFE CYCLE OF SYSTEMS ANALYSIS AND DESIGN Step 9 : System Modification Fix errors Add/Delete features as required by users Tune the System Continuously monitor system and assess performance 2.2.7 System Analysis And Design © V. Rajaraman 13 of 23 System Life Cycle Diagram User Requirements Revised Prioritized Requirements Specifications Requirements Specification Feasibility Analysis Feasibility Study Requirements Determination Decision to Design Information System System Implementation System System Evaluation Test Plan Logical Design Functional Specifications System Design System Specification Analysis Configuration Data Hardware Study Physical Requirements Revised Requirements System Maintenance Budget & schedule Improved System 2.2.8 14 of 23 ROLE OF SYSTEMS ANALYST Defining Requirements - Involves Interviewing Users Prioritizing Requirements - Obtain Users Consensus Fact Gathering - Data, Facts, Opinions of Managers - Lower level Users should be consulted 2.3.1 System Analysis And Design © V. Rajaraman 15 of 23 ROLE OF SYSTEMS ANALYST Analysis and evaluation - Arrive at appropriate system Solving problems - Hazy requirements converted into specific requirements - Suggest many alternative solutions - Quantify cost and benefits 2.3.2 System Analysis And Design © V. Rajaraman 16 of 23 ROLE OF SYSTEMS ANALYST Drawing up specifications - FUNCTIONAL SPECIFICATIONS - Understood by users and programmers - Accepted by users - Precise and detailed - Account for possible changes 2.3.3 System Analysis And Design © V. Rajaraman 17 of 23 ROLE OF SYSTEMS ANALYST SYSTEM DESIGN Logical design of system - Objects identification - Normalizing database - Test plan Design must be modular to accommodate change 2.3.4 System Analysis And Design © V. Rajaraman 18 of 23 ROLE OF SYSTEMS ANALYST Evaluating Systems - Evaluation after use for sometime - Plan periodicity for evaluation - Modify as needed 2.3.5 System Analysis And Design © V. Rajaraman 19 of 23 ATTRIBUTES OF A SYSTEMS ANALYST KNOWLEDGE OF ORGANISATION - Knowing user’s jargon & practices - Know Management functions. KNOWLEDGE OF COMPUTERS AND SOFTWARE - Knowledge of system design tools - Keep abreast of modern developments 2.3.6 System Analysis And Design © V. Rajaraman 20 of 23 ATTRIBUTES OF A SYSTEMS ANALYST GOOD INTERPERSONNAL RELATIONS - Need to work as team member - Lead smaller teams - Interface with programmers & Users - Motivator. ABILITY TO COMMUNICATE - Oral Presentation - Report Writing - Answer queries 2.3.7 System Analysis And Design © V. Rajaraman 21 of 23 ATTRIBUTES OF A SYSTEMS ANALYST ANALYTICAL MIND - Problem solving attitude - Ability to assess trade offs - Sound commonsense - Curiosity to learn about new organizations BREADTH OF KNOWLEDGE - Broad Liberal Knowledge - Variety of jobs to be tackled in diverse organizations 2.3.8 System Analysis And Design © V. Rajaraman 22 of 23 TOOLS USED BY SYSTEMS ANALYST Data Flow Diagram Decision Tables Modeling Language such as UML Normalization of Databases Testing tools ISO/CMM procedure manuals 2.3.9 System Analysis And Design © V. Rajaraman 23 of 23 MODULE 2 SYSTEMS ANALYSIS AND DESIGN LIFE CYCLE Contents 1. MOTIVATION AND LEARNING GOALS 2. LEARNING UNIT 1 Systems Analysis and Design life Cycle: Requirements determination, requirements specifications 3. LEARNING UNIT 2 Feasibility analysis, final specifications, hardware and software study, system design, system implementation, system evaluation, system modification. 4. LEARNING UNIT 3 Role of systems analyst, attributes of system analyst, tools used in system analysis 5. References SYSTEMS ANALYSIS AND DESIGN LIFE CYCLE MOTIVATION Students should know how to logically divide a complex job into smaller manageable steps. Each step must have a logical beginning and end and must be self contained. Division of large jobs into logical steps will enable one to assess progress at the end of each step, each step may be assigned to persons with specialized competence, and allocation of human and financial resources appropriate for each step can be planned. LEARNING GOALS At the end of this module u will know: 1. 2. 3. 4. 5. Nine Steps in designing Information Systems. Tasks performed in each step. Nature of tasks performed by Systems Analysts. The attributes of Systems Analysts. The tools used by Systems Analysts. LEARNING UNIT 1 Systems Analysis and Design life Cycle: Requirements determination, requirements specifications LIFE CYCLE OF SYSTEMS ANALYSIS AND DESIGN Steps involved in Analysis and Design 1.Requirements Determinations 2.Requirements Specifications 3.Feasibility Analysis 4.Final Specifications 5.Hardware Study 6.System Design 7.System Implementation 8.System Evaluation 9.System Modification 1.Requirements Determination: This is arrived at by a consensus reached among managers in the organization. Priorities among applications are determined and high priority applications are selected. 2.Requirements Specifications This is known as System Requirements Specification (SRS). Applications where a system is required are listed, and specifications of the users requirements are arrived at after discussion with the user. LEARNING UNIT 2 Feasibility analysis, final specifications, hardware and software study, system design, system implementation, system evaluation, system modification. 3. Feasibility Analysis Formulate Goals of the system and quantify them. Find alternative methods of meeting the goals and for each alternative assess resources needed like Human Resources, Time and Money, Equipment needed etc. Assess cost of each alternative and find the best alternative 4.Final Specifications Specifications would state what the system would achieve. Specifications drawn up are then improved for implementation. SRS is written, which is then given to user and agreement is reached 5.Hardware Study Determine Hardware and Software required to execute the application. Determine Response time, Volume of data to be processed, Frequency of reports etc & then pick the hardware. 6.System Design A logical Design of the System is implemented. Objects are identified, Database is designed, and program specification and implementation plan is drawn up. 7.System Implementation In this phase programs are written, Database is created, user operational document is created, users are trained and the system is tested with operational data 8.System Evaluation Find out from Users whether the System meets the specified requirements. List areas of dissatisfaction and find reasons, suggest if there has to be any improvements to the system 9.System Modification Fix the errors, add/delete features as required by users, tune the system and continuously monitor system and assess performance. LEARNING UNIT 3 Role of systems analyst, attributes of system analyst, tools used in system analysis ROLE OF SYSTEMS ANALYST The following are roles of systems analyst: 1. Defining Requirements: Involves Interviewing Users 2. Prioritizing Requirements: Obtain Users Consensus 3. Fact Gathering: Data, Facts and opinions of Managers are gathered, Lower level Users should also be consulted 4.Analysis and evaluation -Arrive at appropriate system 5. Solving problems: Hazy requirements converted into specific requirements, suggest many alternative solutions, and quantify cost and benefits 6.Drawing up specifications: Draw up specifications which are understood by users and programmers, which are accepted by users and which are precise and detailed. 7. System design: Logical design of system is implemented and the design must be modular 8.Evaluating Systems: Evaluate the system after it has been used for sometime, Plan the periodicity for evaluation and modify the system as needed ATTRIBUTES OF A SYSTEMS ANALYST Knowledge of organisation Knowledge of computers and software Good interpersonal relations Ability to communicate Analytical mind Breadth of knowledge TOOLS USED BY SYSTEMS ANALYST Data Flow Diagram Decision Tables Modeling Language such as UML Normalization of Databases Testing tools ISO/CMM procedure manuals REFERENCES Most of the material in the module is adapted from Chapter 3 of Analysis and Design of Information Systems by V.Rajaraman published by Prentice Hall of India 2002 with permission from publisher. 1. Information Systems Today by L.Jessup and J.Valacich. Topics in this module treated from a slightly different perspective in Chapter 8, pp.240 to 256. 2. K.E.Kendall and J.E.Kendall, Systems Analysis and Design, Pearson Education Asia, Indian Reprint 2002. pp.16-17 have a very brief treatment of Systems Analysists’ role and Systems Development life cycle. 3. Modern Systems Analysis and Design by J.E.Hoffer, J.F.George and J.Valacich treat life cycle in pp.18-25. Role of various stake holders in systems development is covered in pp.11 to 15. 4. Information Systems, S.Alter, Pearson Education Asia 2000 looks at life cycle from a different perspective on pp. 4 to 16. System Analysis and Design/Information Gathering Multiple Choice Questions Systems Analysis and Design Life Cycle 2.1 The major goal of requirement determination phase of information system development is a. determine whether information is needed by an organization b. determine what information is needed by an organization c. determine how information needed by an organization can be provided d. determine when information is to be given 2.2 Information requirements of an organization can be determined by a. interviewing managers and users and arriving at the requirements based on consensus b. finding out what similar organizations do c. telling organization what they need based on your experience d. sending a questionnaire to all employees of the organization 2.3 It is necessary to prioritize information requirements of an organization at the requirements determination phase as a. b. c. it is always good to prioritize there are conflicting demands from users there are constraints on budgets, available time, human resource and requirement d. all good organization do it 2.4 Requirement specification is carried out a. after requirements are determined b. before requirements are determined c. d. simultaneously with requirements determination independent of requirements determination 2.5 The role of a system analyst drawing up a requirements specification is similar to a. architect designing a building b. a structural engineer designing a building c. a contractor constructing a building V. Rajaraman/IISc. Bangalore M2/V1/July 04/1 System Analysis and Design/Information Gathering Multiple Choice Questions d. the workers who construct a building 2.6 It is necessary to consult the following while drawing up requirement specification a. b. c. d. only top managers only top and middle management only top, middle and operational managers top, middle and operational managers and also all who will use the system 2.7 In order to understand the working of an organization for which a computer based system is being designed, an analyst must a. b. c. look at only current work and document flow in the organization discuss with top level and middle level management only interview top, middle, line managers and also clerks who will enter data and use the system d. only clerical and middle level staff who have long experience in the organization and will be users of the system 2.8 A feasibility study is carried out a. after final requirements specifications are drawn up b. c. d. during the period when requirements specifications are drawn up before the final requirements specifications are drawn up at any time 2.9 The main objective of feasibility study is a. to assess whether it is possible to meet the requirements specifications b. to assess if it is possible to meet the requirements specified subject to constraints of budget, human resource and hardware c. to assist the management in implementing the desired system d. to remove bottlenecks in implementing the desired system 2.10 It is necessary to carry out a feasibility study as a. top management can not ensure that a project is feasible before calling a system analyst b. top management is not sure what they want from the system V. Rajaraman/IISc. Bangalore M2/V1/July 04/2 System Analysis and Design/Information Gathering Multiple Choice Questions c. even though top management is in favor of the system, technology may not be mature for implementation d. all organizations do it 2.11 Feasibility study is carried out by a. managers of the organization b. system analyst in consultation with managers of the organization c. users of the proposed system d. systems designers in consultation with the prospective users of the system 2.12 Initial requirements specification is a. not changed till the end of the project b. continuously changed during project implementation c. only a rough indication of the requirement d. changed and finalized after feasibility study 2.13 Final specifications are drawn up by a. b. c. system analyst in consultation with the management of the organization the managers of user organization system analyst in consultation with programmers d. system designers along with users 2.14 The main goal of arriving at a final specification is a. b. to tell the organization’s managers how the system will function to tell the organization’s managers what the proposed system will achieve in a language understood by them c. to compute the cost of implementing the system d. to assist in designing the system 2.15 The final specifications are arrived at a. after feasibility study b. during feasibility study c. d. just before implementation phase when the system is being designed 2.16 System approval criteria are specified a. when the final specifications are drawn up V. Rajaraman/IISc. Bangalore M2/V1/July 04/3 System Analysis and Design/Information Gathering Multiple Choice Questions b. during feasibility study c. d. 2.17 during the requirements specifications stage during system study stage System test plan is specified a. when the final specifications are drawn up b. during feasibility study c. d. during the requirements specifications stage during system study stage 2.18 Hardware study is required a. b. to find out cost of computer system needed to determine the type of computer system and software tools needed to meet the final system specification c. d. to make sure that the system does not become obsolete to find how to implement the system 2.19 Hardware study is carried out a. after the final system is specified b. at the requirements specification stage c. before the requirements are specified d. whenever management decides it is necessary 2.20 System design is carried out a. as soon as system requirements are determined b. whenever a system analyst feels it is urgent c. after final system specifications are approved by the organization d. whenever the user management feels it should be done 2.21 The primary objective of system design is to a. b. c. d. design the programs, databases and test plan design only user interfaces implement the system find out how the system will perform 2.22 The primary objective of system implementation is i) to build a system prototype V. Rajaraman/IISc. Bangalore M2/V1/July 04/4 System Analysis and Design/Information Gathering Multiple Choice Questions ii) to train users to operate the system iii) to implement designed system using computers iv) write programs, create databases and test with live data a. i, iii b. i, ii, iii c. ii ,iii d. ii, iv 2.23 During system implementation the following are done i) programs are written and tested with operational data ii) user documentation is created and users trained iii) programmers are recruited and trained iv) the system is tested with operational data a. i and iii b. ii and iii c. ii and iv d. i, ii & iv 2.24 System evaluation is carried out a. b. c. after the system has been operational for a reasonable time during system implementation whenever managers of user organization want it d. whenever operational staff want it 2.25 The main objective of system evaluation is a. to see whether the system met specification b. to improve the system based on operational experience for a period c. to remove bugs in the programs d. to asses the efficiency of the system 2.26 Systems are modified whenever a. b. c. user’s requirements change new computers are introduced in the market new software tools become available in the market V. Rajaraman/IISc. Bangalore M2/V1/July 04/5 System Analysis and Design/Information Gathering Multiple Choice Questions d. other similar organization modify these system 2.27 The main objective of system modification is a. b. c. d. to use the latest software tools to meet the user’s new/changed needs to use the latest hardware to have the most modern system 2.28 To easily modify the existing system it is necessary to a. b. c. d. use good software tools use the best hardware available design the system which can be changed at low cost keep the programming team happy 2.29 It is necessary to design an information system to easily accommodate change, because a. new computers are introduced every year b. new computer languages become popular every year c. organizations’ requirements change over a period of time d. systems need continuous debugging 2.30 Changing an operational information system is a. impossible b. expensive and done selectively c. d. never required usually done 2.31 System analysts have to interact with i) managers of organizations ii) users in the organization iii) programming team iv) data entry operator V. Rajaraman/IISc. Bangalore M2/V1/July 04/6 System Analysis and Design/Information Gathering Multiple Choice Questions a. b. iii and iv i, ii and iii c. ii, iii and iv d. ii and iii 2.32 The primary responsibility of a systems analyst is to a. specify an information system which meets the requirements of an organization b. c. d. write programs to meet specifications maintain the system meet managers of the organization regularly 2.33 The responsibilities of a system analyst include i) defining and prioritizing information requirement of an organization ii) gathering data, facts and opinions of users in an organization iii) drawing up specifications of the system for an organization iv) designing and evaluating the system a. b. c. i and ii i, ii and iv i, ii, iii and iv d. i, ii and iii 2.34 The most important attribute of a systems analyst is a. excellent programming skills b. very good hardware designing skills c. very good technical management skills d. very good writing skills 2.35 Among the attributes of a good systems analyst the following are essential i) knowledge of organization ii) analytical mind iii) ability to communicate orally iv) excellent mathematical abilities a. i and ii b. i, ii and iii V. Rajaraman/IISc. Bangalore M2/V1/July 04/7 System Analysis and Design/Information Gathering Multiple Choice Questions c. i, ii and iv d. i, iii and iv 2.36 Among the attributes of a systems analyst the following are most important i) knowledge of computer systems and currently available hardware ii) good interpersonal relations iii) broad knowledge about various organizations iv) very good accountancy knowledge a. b. c. i, iii and iv i and iii i, ii and iv d. i, ii and iii 2.37 Managers in organizations should not design their own systems as a. systems have to interact with other systems b. they do not have the special skills necessary to design systems c. d. it is not their job they are always very busy 2.38 Systems analyst should use software tools in their work as a. all analysts use them b. they assist in systematic design of systems c. d. they are inexpensive they are easily available V. Rajaraman/IISc. Bangalore M2/V1/July 04/8 System Analysis and Design/Information Gathering Multiple Choice Questions Key to Objective Questions 2.1 b 2.2 a 2.3 c 2.4 a 2.5 a 2.6 d 2.7 c 2.8 c 2.9 b 2.10 c 2.11 b 2.12 c 2.13 a 2.14 b 2.15 a 2.16 a 2.17 a 2.18 b 2.19 a 2.20 c 2.21 a 2.22 d 2.23 d 2.24 a 2.25 b 2.26 a 2.27 b 2.28 c 2.29 c 2.30 b 2.31 b 2.32 a 2.33 d 2.34 c 2.35 b 2.36 d 2.37 b 2.38 b V. Rajaraman/IISc. Bangalore M2/V1/July 04/9 Systems Analysis and Design Life Cycle 2.1 Who do you think should participate in determining the information requirements of a student’s hostel? • Warden of hostel • Hostel Superintendent • Accountant • Student Representatives • Principal of college is consulted at the beginning What is the difference between information requirement determination and specification? • Information requirement determination attempts to find out what strategic, tactical, operational information is needed to effectively manage an organization. • Information specification defines the manner in which the information will be presented and what analyzed data it Why is feasibility analysis necessary before designing a system? Feasibility analysis mean to analyze whether there is a reasonable chance of the project succeeding given the constraints of computing equipment, human resources, data availability i.e. before investing money and time one should know what resources are needed for it to succeed and whether the resources are available. If the resources are limited, then the goals to be met by the system can be curtailed. One should have a quantitative and qualitative idea of cost of the system and what benefits one may gain from the system. What benefits do you expect if an information system for a hostel is designed? • • • • • 2.4) Mess bills will be promptly generated and can give itemized details of extras. Can control mess expenses by finding out consumption of various items against an average. Can try to optimize daily menus based on cost of vegetables etc. Can find out the names of the students with large dues left and sending them reminders. Can quickly find out which student stays in which room and his home address when needed. 2.2 2.3 2.4 What activities will you carry out during implementation of a hostel information System? 1. PROGRAMS WRITTEN FOR • Mess accounting • Billing • Stores control 2. DATABASE CREATED • Students • Mess stores • Mess finance 3.TRAINING Hostel office staff will be trained to input data and generate queries 4.DOCUMENTATION Documentation of the system will be created. 5.TESTING The computerized system will be operated in parallel with the manual system and tested. 2.6) When should a system be evaluated? A rough thumb rule is to evaluate a system when the "transients” die down and it reaches a quasi "steady-state". Transients are caused by changes made due to errors in the system and when some minor changes are introduced. Normally a system is evaluated after being in use for 6 months, but this period may vary according to the application. 2.7) Are excellent programmers necessarily excellent system analysts? Justify your answer. An Programmer is not necessarily an excellent system analyst. A programmer is given clear specification and designs efficient programs. He need not have good communication skills and inter-personal relations. A programmer works with clear specifications whereas an analyst has to arrive at clear specifications from fuzzily stated requirements. 2.8) Why should a systems analyst be able to communicate well? He has to understand users’ requirements mostly by interviewing them and thus he has to ask the right questions, listen carefully and summarize orally the gist of conversation. He also must be able to present and explain orally to the users the system designed by him and clarify doubts they may have after the oral presentation. His main job is to interact with the management, users’ and the programmers so it is obvious that he must possess good communication skills. QUESTION BANK MODULE 2 2.1 2.2 How are information requirements arrived at in an organization? Who do you think should participate in determining the information requirements of a student hostel? 2.3 As a student what information would you consider as important in a students hostel? 2.4 What is the difference between information requirement determination and specification? 2.5 2.6 2.7 2.8 Specify the information requirement you stated in answer to Exercise 2.3 What do you understand by the term consensus? Why is feasibility analysis necessary before designing a system? In designing an information system for a hostel what constraints should be taken into account during feasibility analysis? 2.9 2.10 What benefits do you expect if an information system for a hostel is designed? What factors are taken into account in arriving at the final specifications of an information system? 2.11 2.12 2.13 2.14 What should be the important characteristics of the final specifications? What are the inputs and outputs of the system design phase? What activities are carried out in the system implementation phase? What activities will you carry out during implementation of a hostel information system? 2.15 When should a system be evaluated? 2.16 2.17 2.18 2.19 What are the characteristics of a good information system? What special skills should a systems analyst possess? Why should a systems analyst be able to communicate well? Are excellent programmers necessarily excellent systems analysts? Justify your answer. 2.20 2.21 2.22 List eight tasks performed by systems analysts. List six desirable attributes of a systems analyst. Should managers design their own systems? disadvantages of such a decision? What are the advantages and 2.23 What are the tools currently available to design systems? advantages of using these tools? What are the MODULE 2 REFERENCE BOOKS Most of the material in the module is adapted from Chapter 3 of Analysis and Design of Information Systems by V.Rajaraman published by Prentice Hall of India 2002 with permission from publisher. 1. Information Systems Today by L.Jessup and J.Valacich. Topics in this module treated from a slightly different perspective in Chapter 8, pp.240 to 256. 2. K.E.Kendall and J.E.Kendall, Systems Analysis and Design, Pearson Education Asia, Indian Reprint 2002. pp.16-17 have a very brief treatment of Systems Analysists’ role and Systems Development life cycle. 3. Modern Systems Analysis and Design by J.E.Hoffer, J.F.George and J.Valacich treat life cycle in pp.18-25. Role of various stake holders in systems development is covered in pp.11 to 15. 4. Information Systems, S.Alter, Pearson Education Asia 2000 looks at life cycle from a different perspective on pp. 4 to 16. SUMMARY OF MODULE 2 1. There are nine distinct phases in the development of an information system. These phases constitute what is known as the system life cycle. A summary of what is done in each phase and the outputs obtained at the end of each phase is given below: Phase What is Done During this Phase End Product of this Phase Set of requirements and their priorities. Detailed specifications of information to be provided (revised user requirement) Feasibility document specifying resource needs and availability, expected cost vs. benefits of system. Functional specification. Budget, time schedule. Physical requirements such as storage and processor. Hardware configuration - disk space, CPU power. Logical design of programs, data bases and test plan Programs, data bases user manual and operational manual. 2. 1. 2. Requirements determination Requirements specification Determine requirements to be met by the system being contemplated Draw up understandable plan of what the system will provide as outputs. Determine needs and priority by consensus among end users. Taking into account available resources such as human, computer, time and money find whether specified requirements can be met. 3. Feasibility analysis 4. System specification Obtain functional specification based on revised user requirements and feasibility analysis 5. Hardware study Determine system hardware requirements for 6. System design Logical design of programs, design of data bases, test and implementation plan. Writing programs, creating data bases, testing programs and operation plans. Documenting system. Training users. Data conversion if needed. Installing system. Trial of system and parallel runs with existing system. Tests to accept system. Find out from users if system meets their needs Change system, adding or deleting features to satisfy users (modified) needs. 7. System implementation 8. System evaluation System modification/mai ntenance 9. Evaluation report with suggestion for improvement Improved system containing modifications and improvements. 3. It should be remembered that in a design one may have to go back to an earlier phase in the design based on results obtained in a later phase. The phases are primarily intended an milestones to assess progress in design. 4. A systems analyst should interact with managers, users, and application programmers in designing a system. A systems analyst must, through discussions with users, determine their information requirements, interact with them during the design phase and explain to them what the system will provide. He must assign priorities among different requirements, analyze and evaluate existing systems and improve them. An analyst must be able to identify and solve management problems in organizations, draw up specifications and oversee implementation. An analyst should evaluate the designed system and modify it if needed. A good system analyst must know the operation and management structure of diverse organizations, must understand both hardware and software features of computers, must exhibit good interpersonal relations, be able to express his/her thoughts well, and be capable of life-long learning. A system analyst should know the use of tools such as data flow diagrams, decision tables, prototyping systems, spread-sheets, data base systems, report generators and graphics systems. 5. 6. 7. MODULE 3 INFORMATION GATHERING OBJECTIVE QUESTIONS There are 4 alternative answers to each question. One of them is correct. Pick the correct answer. Do not guess. A key is given at the end of the module for you to verify your answer LEARNING UNIT 1 3.1.1 Information is gathered for computerization during a) requirements determination phase b) systems design phase c) implementation phase d) feasibility phase 3.1.2 Information is gathered by a system analyst in order to a) find out whether a computer based system is required b) find out how the organization works c) find out how the current system works and what is expected from a new computer based system d) find out who will use the system 3.1.3 The most difficult information to gather in an organization is a) that which is known to only few persons in an organization b) that which is not written down in an organizational manuals c) company confidential information d) what is consumed as obvious by the managers in an organization 3.1.4 Gathering information in large and complex organizations is difficult and takes time because i) it is necessary to consult a large number of persons at various levels of hierarchy in the organization ii) one has to examine the current system in detail iii) a clear strategy has to be evolved to gather information iv) it is necessary to use an information flow model of an organization a) i and iii b) iii and iv c) i and ii d) ii and iv 3.1.5 A strategy to gather information consists of i) identifying information sources ii) using information flow model of organization iii) examining systems of other organizations iv) rely on ones experience a) i and ii b) i and iii c) ii and iv d) ii and iii 3.1.6 The following are good sources of information to design a system i) forms and documents used in the organization ii) users of the proposed system iii) procedure manuals of the organization which explains how various activities of the organization are carried out iv) annual report of the organization a) i ,ii and iii b) i, ii and iv c) i and ii d) i and iii 3.1.7 It is necessary to interview top level managers as the first step in information gathering a) otherwise you will not get cooperation b) they can give you an overview of the organization and specify objectives of the system c) they are usually not available d) the number of persons to be interviewed at top level is small 3.1.8 It is necessary to gather a) quantitative information only as qualitative information is usually biased b) both qualitative and quantitative information c) qualitative information only as it is easily available d) qualitative information only as quantitative information is usually not correct 3.1.9 Among information gathering methods, interviewing is essential as a) it gives an opportunity to question the interviewees and clarify details and doubts the analyst may have b) it can be easily arranged c) it is recommended by senior analysts d) it is necessary to meet everyone in the organization 3.1.10 All information required can be gathered in a) one interview b) two interviews c) several interviews d) several interviews and group discussions 3.1.11 Interviews are essential to gather a) quantitative information b) qualitative information c) facts and figures d) statistical information 3.1.12 During interviews an analyst must a) gather information on user requirements, procedures and practices b) tell the user what is good for organization c) tell the user how to run the organization d) tell the user what is wrong with the organization 3.1.13 It is good idea for a system analyst a) to define the objectives of the information system b) to tell the users what the objectives should be c) to let the user formulate the objectives of the information system being designed d) not to worry about the objective during the interviews 3.1.14 The following should be avoided during interviews with users a) interrupting a user when something is not clear b) taking note c) using computer jargon d) not laughing when user jokes 3.1.15 The following manners should be observed during interviews i) make prior appointment for interviews ii) not prolong interview beyond 30 to 40 minutes iii) take notes after obtaining permissions iv) interrupt the user often to show you are listening a) i, ii and iv b) i, ii and iii c) i and ii d) i, iii and iv 3.1.16 It is a good idea to prepare for an interview by i) studying background material and going with queries and checklist ii) finding out what a user likes iii) recapitulating and summarizing what transpired in previous interview(s) iv) finding out what a user dislikes a) i and ii b) ii and iv c) i and iii d) i, ii and iv 3.1.17 Sending questionnaires are the good means of gathering a) quantitative data b) qualitative data c) both quantitative and qualitative data d) data from top management 3.1.18 Questionnaires are used when i) a large number of people’s responses are required ii) manual data processing is required iii) when a small number of people’s response is required iv) it is difficult to personally interview people a) i and ii b) ii and iii c) iii and iv d) i and iv 3.1.19 In order to get fast response when questionnaires are sent i) the questionnaire must be simple to answer ii) the questionnaire should be comprehensive iii) the questionnaire should be short iv) the questionnaire should be long a) i, ii b) ii, iv c) i, iii d) i, iv 3.1.20 Besides interviewing following methods help in gathering facts i) studying systems used by similar organization for the same purpose ii) reading case studies reported for similar organization iii) sending letters to all managers of the organization iv) sending letters to the clients of the organization a) i, ii iii b) i and ii c) i and iii d) iii and iv LEARNING UNIT 2 3.2.1An organization requests an information system to be designed when (a) there is a change in management (b) it is dissatisfied with the current system as it does not meet their information requirement (c) the current system has been working for 2 years (d) new software tools are introduced in the market 3.2.2The purpose of designing an information system is to (a) modernize the functioning of an organization (b) reduce the number of people employed by an organization (c) provide operational, tactical and strategic information to efficiently manage an organization (d) improve the day-to-day working of an organization 3.2.3 The expansion of SRS is (a) System Requirements Specification (b) System Resources Statement (c) Statement of Reliability of System (d) Standard Requirements Statement 3.2.4 System Requirements Specification is developed by (a) users of the proposed system (b) top level managers of an organization (c) examining the functioning of similar organizations (d) systems analyst after information gathering phase in consultation with users 3.2.5 The main objective of System Requirements Specification is to (a) enable a systems analyst to satisfy himself and the user that they have mutually understand the user’s information requirements (b) write down the requirements clearly (c) estimate the cost of developing the system (d) to make sure that it is possible to develop the system 3.2.6 Graphical tools used to arrive at SRS are: (i) Data Flow Diagrams (ii) Program Flow Charts (iii) System Flow Charts (iv) Document Flow Diagrams (a) i and ii (c) i and iv (b) ii and iii (d) ii and iv 3.2.7 Document Flow Diagrams are used to depict (a) how and when documents flow in the organization (b) various offices/entities of an organization and the documents as well as physical items which flow between these entities (c) what documents flow in an organization (d) how documents are generated and flow in an organization 3.2.8 Document flow diagrams are usually developed during (a) System design phase (b) Feasibility study (c) Implementation phase (d) Fact gathering phase 3.2.9 Document flow diagrams are developed by (a) systems analyst (b) programmers (c) system designers (d) users and managers of an organization 3.2.10 In a document flow diagram entities are represented by (a) circles (b) rectangles with rounded edges (c) diamond shaped boxes (d) rectangles 3.2.11 In a document flow diagram a dashed line with an arrow depict (a) flow of documents (b) control flow (c) flow of materials (d) data flow 3.2.12 In a document flow diagram a solid line with an arrow depicts (a) flow of documents (b) control flow (c) flow of materials (d) data flow 3.2.13 In a document flow diagram arrows are necessary to depict (a) how documents flow (b) direction of flow of documents (c) when documents flow (d) whether documents flow or not 3.2.14 Data flow diagrams are used to depict (a) how and when data flows in an organization (b) what documents flow in an organization (c) what data flows between entities and how they are processed (d) how data are generated and flow in an organization 3.2.15 Data flow diagrams are usually developed during (a) system design phase (b) feasibility study (c) implementation phase (d) systems analysis phase 3.2.16 Data flow diagrams are developed by (a) systems analyst (b) programmers (c) system designers (d) users and managers of an organization Key To Objective Questions 3.1.1 3.1.7 a b 3.1.2 3.1.8 c b 3.1.3 3.1.9 d a 3.1.4 c 3.1.5 a 3.1.6 a 3.1.10 d 3.1.16 c 3.2.2 3.2.8 c d 3.1.11 b 3.1.17 a 3.2.3 3.2.9 a a 3.1.12 a 3.1.18 d 3.2.4 d 3.1.13 c 3.1.19 c 3.2.5 a 3.1.14 c 3.1.20 b 3.2.6 c 3.1.15 b 3.2.1 3.2.7 b b 3.2.10 d 3.2.16 a 3.2.11 c 3.2.12 a 3.2.13 b 3.2.14 c 3.2.15 d MODULE 3 INFORMATION GATHERING Contents 3.1 Strategy to gather information 3.2 Methods of gathering information 3.3 Case study –hostel information system 3.4 Systems requirements specifications 3.5 Classifications of requirements to operational,tactical,strategic Systems Analysis And Design © V. Rajaraman MOTIVATION The Information system designed for an organization must meet the requirements of the end users of the organization. To obtain what an end user expects from the Information System the designer must gain complete knowledge of the organization’s working. It is important for the student to know the information gathering techniques so that no information is overlooked and the nature and functions of an organization are clearly understood Systems Analysis And Design © V. Rajaraman 1 of 30 of module3 MOTIVATION The main purpose of gathering information is to determine the information requirements of an organization Information requirements are often not stated precisely by management Analyst’s responsibility to prepare a precise Systems Requirements Specifications understood(SRS) by users SRS document is a vital document before starting a project Systems Analysis And Design © V. Rajaraman 2 of 30 of module3 LEARNING GOALS Strategy to gather information for computerization. Various sources of information. Methods of searching for information. Interviewing techniques to gather information from line managers to top management. Methods of consensus for formulating requirements. Systems Analysis And Design © V. Rajaraman 3 of 30 of module3 LEARNING GOALS Use of document flow diagrams to depict flow of documents in an organization Specification of Operational,Tactical and strategic information which will be provided by the system Use of dataflow diagrams to specify flow of records and how they will be processed to create reports Systems Analysis And Design © V. Rajaraman 4 of 30 of module3 INFORMATION GATHERING STRATEGIES Identify Information sources Evolve a method of obtaining information from the identified sources. Use Information flow model of organization. Systems Analysis And Design © V. Rajaraman 5 of 30 of module3 INFORMATION SOURCES Users of System Forms and Documents used in the organization Procedure manuals, rule books etc. Reports used by the organization Existing computer programs(If Any). Systems Analysis And Design © V. Rajaraman 6 of 30 of module3 INFORMATION SOURCES Interviews are very important Use organization chart Understand the importance of the people who operate the system-Clerks,Line managers. Gather information from Middle level persons who have lot of experience Gather both qualitative and quantitative information & Observe how the organization works. Systems Analysis And Design © V. Rajaraman 7 of 30 of module3 INFORMATION GATHERING METHODS Searching for information Individual Interviews Group discussions Several Interviews needed. Systems Analysis And Design © V. Rajaraman 8 of 30 of module3 PLANNING AN INTERVIEW Make a list of people to be interviewed and in what order Plan and note down a list of questions to be asked Plan several interviews with same person-mainly to clarify doubts Interview groups as appropriate Systems Analysis And Design © V. Rajaraman 9 of 30 of module3 INTERVIEWING TECHNIQUE Make appointment Allot time Read background material State purpose of interview Be punctual and pay attention to what user says Do not use computer jargon SystemsAnalysis And Design © V. Rajaraman 10 of 30 of module3 INTERVIEWING TECHNIQUE Obtain both quantitative and qualitative Information Discriminate between essential and desirable requirements State what you understand and get it confirmed Do not prolong interview Summarize information gathered and get it checked by the interviewee Systems Analysis And Design © V. Rajaraman 11 of 30 of module3 USE OF QUESTIONNAIRES Questionnaires useful for statistical data collection Useful when large number of persons have to respond Make questionnaires short Design questionnaires by enumerating objectives and data needed to meet the objectives Several follow-ups/personal interviews may be required to get questionnaires back from respondents Systems Analysis And Design © V. Rajaraman 12 of 30 of module3 INFORMATION GATHERING OTHER METHODS Existing system(If any) Systems in similar organization Observe workflow in workplace Case repository in own organization Systems Analysis And Design © V. Rajaraman 13 of 30 of module3 SYSTEM REQUIREMENTS SPECIFICATION System requirements specification specifies what Information requirements will be provided. It does not specify how the system will be designed SRS is obtained after excessive discussions with the user. Developing SRS is most important and difficult task of a Systems analyst Systems Analysis And Design © V. Rajaraman 14 of 30 of module3 SYSTEM REQUIREMENTS SPECIFICATION How SRS is Developed Analyst examines the current system if any. Analyst finds out the shortcomings of the system as seen by the user. Analyst’s aim is to develop SRS which is understandable by the user and which can be used for detailed design of the system. Systems Analysis And Design © V. Rajaraman 15 of 30 of module3 SYSTEM REQUIREMENTS SPECIFICATION Ideal characteristics of SRS Complete and Unambiguous. Specifies operational,tactical, and strategic information requirements Eliminates possible later disputes between users and Analyst Uses Graphical aids understood by users who are not computer literate and will also be useful in design. Jargon Free. Systems Analysis And Design © V. Rajaraman 16 of 30 of module3 FROM WORD STATEMENT TO SRS • Narratives of requirements by users too long and imprecise • Needs conversion to precise specifications • Step1: Analyse statement Step2: Identify physical entities such as vendors, receiving office, Inspection office etc. Step3:Identify documents which are received/sent by each office Step4:Draw a physical document Systems Analysis And Design © V. Rajaraman 17 of 30 of module3 DEVELOPING A DOCUMENT FLOW DIAGRAM EXAMPLE WORD STATEMENT “Our company receives many items from several vendors each accompanied by a delivery note.A receiving office receives the item and checks the delivery note with corresponding order. Any discrepancy is reported to purchase office.The items received along with items received note (with details of items) is sent to the inspection office.” ENTITIES IDENTIFIED-Vendors,Receiving office,Inspection office DOCUMENTS IDENTIFIED-Delivery note,discrepancy note,Items Received note. Using these a document flow diagram is drawn Systems Analysis And Design © V. Rajaraman 18 of 30 of module3 SYSTEM REQUIREMENTS SPECIFICATION Graphical Specification Tools Physical document flow diagram. Logical Data flow Diagram (abbreviated as DFD) Document flow diagram depicts various entities or offices & documents generated/transmitted by these entities Entities represented by Rectangles, Document flow by lines, direction is shown by arrows. Document flow lines are labeled by name of the document Dashed lines used to depict flow of physical items. Document flow diagram depicts various entities and documents generated and/or transmitted by these entities Systems Analysis And Design © V. Rajaraman 19 of 30 of module3 DOCUMENT FLOW DIAGRAM Delivered Items Vendor Receiving Office Inspection office Items Received note Delivery note Discrepancy note Purchase Office Entities in the Document flow diagram given above are Vendor, Receiving office, Inspection office and purchase office Documents are:Delivery note,items received note and discrepancy note Physical flows are delivered items Systems Analysis And Design © V. Rajaraman 20 of 30 of module3 DOCUMENT FLOW DIAGRAM (CONTD) Delivered Items Receiving Office Delivered Items Inspection office Items Received note Vendor Delivery note Discrepancy note Purchase Office The diagram is interpreted as follows: 1) Vendors deliver items to receiving office accompanied by a delivery note 2) Receiving Office sends items to inspection office along with an items received note 3) Receiving office sends discrepancy note to Purchase office ENTITIES: Vendor,Receiving office,Inspection office and purchase office DOCUMENTS : Delivery note,Items received note and discrepancy note Systems Analysis And Design © V. Rajaraman 21 of 30 of module3 DATA FLOW DIAGRAM (DFD) DFD also has entities and data flows Besides this DFD specifies processing performed by some of the entities Data flow diagrams specify which entities generate documents Details of documents and their flow Processing performed by some entities Data stores which are referred while processing data and in which processed data may be written or stored Systems Analysis And Design © V. Rajaraman 22 of 30 of module3 DATA FLOW DIAGRAM (DFD) Inspection Office Vendor Delivery note Receiving Process Items Received note Orders Purchase Office Discrepancy note •Entities are, originators of data and “consumers” of data •Vendor,Inspection office and purchase office are entities in the above diagram •Data flows are delivery note,items received note and discrepancy note •A circle is used to depict a process •A pair of parallel lines depict a store Systems Analysis And Design © V. Rajaraman 23 of 30 of module3 DATA FLOW DIAGRAM (CONTD) Inspection Office Vendor Delivery note Receiving Process Items Received note Orders Purchase Office Discrepancy note 1) Data in a store may be read by a process 2) Processed data may also be written in a store 3) Circles depicting process are detailed separately using “ Structured English Algorithms” Or decision tables 4) Data flows are expanded to detail the data elements 5) Contents of the data stores are also detailed Systems Analysis And Design © V. Rajaraman 24 of 30 of module3 DATA ELEMENTS IN DATA FLOW & STORE Delivery note: Order no,Vendor code,Vendor name and address,Item name, Item code,Delivery date,Quantity supplied,units. Items Received note: Order no,Item name,Item code,Delivery date,quantity supplied,units. Discrepancy note: Order no,Vendor code,Vendor name and address,Item name, Item code,Order date, Delivery date,quantity supplied,units, excess/deficiency,No of days late/early. Receiving office order file Order no,Order date,Item name,Item code,Vendor code,Vendor Name and address,Quantity ordered,delivery period. Systems Analysis And Design © V. Rajaraman 25 of 30 of module3 PROCESSING RULE English statement 1. Compare order no in delivery note with that in order file. If no match return item to vendor. 2. If order no matches then compare item codes, if no match return item to the vendor. 3. If order number matches compare qty delivered with quantity ordered. If excess or deficient send discrepancy note to purchase office. 4. If order number matches compare date of delivery with expected date.If late or early send discrepancy note to purchase office. 5. In case3 and case4 send items received note to inspection office The above statements are shown to the user for his approval. Systems Analysis And Design © V. Rajaraman 26 of 30 of module3 OPERATIONAL,TACTICAL AND STRATEGIC INFORMATION For this simple examples are: OPERATIONAL: Automatic checking of delivery against order and create discrepancy note.Note discrepancy (if any) of each order. TACTICAL:Evolve vendor performance index based on discrepancy in supplies and quality inspection. STRATEGIC:Use performance index to decide proportion of order for an item to be placed with each vendor.Develop new vendors if all existing vendors performance are poor. Systems Analysis And Design © V. Rajaraman 27 of 30 of module3 STEPS IN SYSTEM ANALYSIS AND DESIGN User stated requirements Study current system Physical document flow diagram Design Logical system Logical data flow diagram Feasibility document Descriptive Statement of Information New System model New logical DFD Data Dictionary Processing rules Systems Analysis And Design © V. Rajaraman 28 of 30 of module3 MODULARIZING REQUIREMENTS SPECIFICATIONS SRS Document SRS Document now consists of: Document flow diagrams(as many as needed). Data Flow Diagrams. Data elements of each data flow and Data Store Systems Analysis And Design © V. Rajaraman 29 of 30 of module3 MODULARIZING REQUIREMENTS SPECIFICATIONS SRS Document ( Continued) Processing rules carried out in each circle of DFD. A descriptive statement of operational,tactical,strategic information will be provided A data dictionary which consolidates all data elements in the document and data store. Systems Analysis And Design © V. Rajaraman 30 of 30 of module3 MODULE 3 INFORMATION GATHERING Contents 1. MOTIVATION AND LEARNING GOALS 2. LEARNING UNIT 1 Information gathering, strategies, methods 3. LEARNING UNIT 2 System requirements specification, classification of requirements as strategic, tactical, operational and statutory 4. References INFORMATION GATHERING MOTIVATION The Information system designed for an organization must meet the requirements of the end users of the organization. To obtain what an end user expects from the Information System the designer must gain complete knowledge of the organization’s working. It is important for the student to know the information gathering techniques so that no information is overlooked and the nature and functions of an organization are clearly understood. The main purpose of gathering information is to determine the information requirements of an organization. Information requirements are often not stated precisely by management. It is the analyst’s responsibility to prepare a precise Systems Requirements Specifications (SRS), which is easily understood (SRS) by users, as SRS document is a vital document before starting a project LEARNING GOALS At the end of this module you will learn: Strategy to gather information for computerization. Various sources of information. Methods of searching for information. Interviewing techniques to gather information from line managers to top management. Methods of consensus for formulating requirements. LEARNING UNIT 1 Information gathering, strategies, methods INFORMATION GATHERING STRATEGIES A strategy should be evolved by the analyst to gather information. The strategy consists of identifying information sources, evolving a method of obtaining information from the identified sources and using an information flow model of organization INFORMATION SOURCES The main sources of information are users of the system, forms and documents used in the organization, procedure manuals, rule books etc, reports used by the organization and existing computer programs(If Any). INFORMATION GATHERING METHODS Searching for information Information can be gathered by interviewing top-level management, middle level management and operational staff. Besides Interviews group discussions also help the analyst to gather information. It is not possible to obtain all information in a single interview, more than one interview is thus required. PLANNING AN INTERVIEW Before starting the interview the analyst must make a list of people to be interviewed and in what order, plan and note down a list of questions to be asked, plan several interviews with same person-mainly to clarify doubts and interview groups as appropriate. INTERVIEWING TECHNIQUE There are some guidelines to ensure a successful interview: Make an prior appointment with the person to be interviewed and meet him at the allotted time. Read background material and go prepared with the checklist. State purpose of interview. Be punctual and pay attention to what user says. Do not use computer jargon. Obtain both quantitative and qualitative Information. Discriminate between essential and desirable requirements. State what you understand and get it confirmed. Do not prolong interview and summarize the information gathered by you during the interview and verify this with the user USE OF QUESTIONNAIRES Questionnaires are useful for collecting statistical data. Sometimes the questionnaires are not promptly replied and several follow-ups/personal interviews may be required to get questionnaires back from respondents But if the questionnaires are short the probability of getting the reply is high When data has to be collected form large number of people questionnaires are useful. OTHER METHODS OF INFORMATION GATHERING Other methods of information search are: Systems used in other similar organization Observe workflow in workplace Repository of systems developed for similar organizations available. LEARNING UNIT 2 System requirements specification, classification of requirements as strategic, tactical, operational and statutory SYSTEM REQUIREMENTS SPECIFICATION (SRS) SRS is obtained after excessive discussions with the user. System requirements specification specifies what Information requirements will be provided. It does not specify how the system will be designed. Developing SRS is most important and difficult task of a Systems analyst How SRS is developed Analyst examines the current system, finds out the shortcomings of the system as seen by the user. He then develops an SRS which is understandable by the user and which can be used for detailed design of the system. Ideal characteristics of SRS Complete and Unambiguous. Specifies operational, tactical, and strategic information requirements Eliminates possible later disputes between users and Analyst Uses Graphical aids understood by users who are not computer literate and will also be useful in design. Jargon Free. DEVELOPING A DOCUMENT FLOW DIAGRAM EXAMPLE WORD STATEMENT “Our company receives many items from several vendors each accompanied by a delivery note. A receiving office receives the item and checks the delivery note with corresponding order. Any discrepancy is reported to purchase office. The items received along with items received note (with details of items) is sent to the inspection office.” ENTITIES IDENTIFIED-Vendors, Receiving office, Inspection office DOCUMENTS IDENTIFIED-Delivery note, discrepancy note, Items Received note. Using these a document flow diagram is drawn Delayed Items Delivered Items Vendor Delivery note Receiving Office Discrepancy note Purchase Office Items Received note Inspection office Indicates Physical flow of items Indicates Documents The diagram is interpreted as follows: 1) Vendors deliver items to receiving office accompanied by a delivery note 2) Receiving Office sends items to inspection office along with an items received note 3) Receiving office sends discrepancy note to Purchase office ENTITIES: Vendor, Receiving office, Inspection office and purchase office DOCUMENTS: Delivery note, Items received note and discrepancy note DATA FLOW DIAGRAM (DFD) DFD has entities and data flows, DFD specifies processing performed by some of the entities. It specifies which entities generate documents and also indicate their flow. Data stores which are referred while processing data and in which processed data may be written or stored are also represented in the Diagram Vendor Receiving Process Delivery note Items Received note Inspection Office Orders Discrepancy note Purchase Office •Entities are, originators of data and “consumers” of data •Vendor, Inspection office and purchase office are entities in the above diagram •Data flows are delivery note, items received note and discrepancy note •A circle is used to depict a process •A pair of parallel lines depict a store Data elements in the data flow: Delivery note: Order no,Vendor code,Vendor name and address,Item name, Item code,Delivery date,Quantity supplied,units. Items Received note: Order no,Item name,Item code,Delivery date,quantity,supplied,units. Discrepancy note: Order no,Vendor code,Vendor name and address,Item name, Item code,Order date, Delivery date,quantity supplied,units, excess/deficiency,No of days late/early. Receiving office order file Order no,Order date,Item name,Item code,Vendor code,Vendor Name and address,Quantity ordered,delivery period. PROCESSING RULE The statements given below are shown to the user for his approval. English statement 1.Compare order no in delivery note with that in order file. If no match return item to vendor. 2.If order no matches then compare item codes, if no match return item to the vendor. 3. If order number matches compare qty delivered with quantity ordered. If excess or deficient send discrepancy note to purchase office. 4. If order number matches compare date of delivery with expected date. If late or early send discrepancy note to purchase office. 5.In case3 and case4 send items received note to inspection office MODULARIZING REQUIREMENTS SPECIFICATIONS SRS Document now consists of Document flow diagrams(as many as needed), Data Flow Diagrams, Data elements of each data flow and Data store, processing rules carried out in each circle of DFD, a descriptive statement of operational,tactical,strategic information will be provided, a data dictionary which consolidates all data elements in the document and data store. REFERENCES 1. Most of the material including the case study has been adapted from Chapter 4, Analysis and Design of Information Systems by V.Rajaraman published by Prentice Hall of India 2002 with permission from publisher. 2. Systems Analysis and Design, by K.E.Kendell and J.E.Kendell published by Pearson Education Asia 2002 discuss in detail fact gathering in pp.117-196. They cover interviewing, questionnaire use and observing an organization very thoroughly. MODULE 3 INFORMATION GATHERING WORKED EXAMPLES 3.1) Describe the general strategy an analyst should use to gather information. Strategy consists of i)identifying information sources. ii)evolving a method of obtaining information from the identified source. iii)using an information flow model of the organization 3.2) What are the main sources of information of an organization. i) Users of systems. ii) Forms and documents used in the organization. iii) Procedure manuals and rule books (if any). iv) Internal reports. v) Any computer program of existing system. 3.3) How should an analyst prepare before an interview? i) Make prior appointment with the person to be interviewed and inform the purpose of the interview, and how much time you would require. ii) An interview should be brief and not exceed 40 minutes. iii)read the background material and go prepared with a checklist. 3.4) Are there some guidelines for good interviewing? Give reasons. Yes. The guidelines for good interviewing are like i)system analyst should state the purpose of the interview again to brush of the problem. ii) He should try to avoid using computer jargon because the person may not be conversant with the technical terms. iii)He should present good manners and introduce himself before taking interview. If any thing is not understood it should be asked immediately to avoid later confusion 3.5) When should questionnaires be used? When quantitative data from number of persons is to be collected. Short Questionnaires elicit quick response. Follow up needed to get questionnaires back. 3.6) Before interviewing the chief warden, what checklist did the system analyst make? The checklist made by the system analyst before interviewing is i) Find out what aspects of hostel operations he wants to analyze and improve. ii) Find out why he wants this and what benefits he foresees. iii) Find out his priorities. iv) Find out how early he wants the system. v) Find out about organization of the hostel administration. vi) Find out with whom else he wants me to talk. vii) Find out if any documentation on existing procedure exist. 5.8 What are the initial two steps followed by a systems analyst when he is requested to design an information system? Step 1: Find out what are the information requirements of the users of the system. Step 2: Find out how these are at least partially met by the current systems used in the organization. 3.9 What graphical tools are useful to a systems analyst to understand user’s requirements? • Document flow diagram • Data flow diagram 3.10A hostel warden states the following requirements for a hostel information system: “Our hostel has 500 rooms and 4 messes. Currently, there are 1000 students in all in 2-seated rooms. They eat in any one of the messes but can get a rebate if they inform and do not eat for at least 4 consecutive days. Besides normal menu, extra items are entered in the extras book. At the end of the month a bill is prepared based on the normal daily rate and extras and given to each student. We find that bill preparation is delayed. We are also not able to keep proper track of payments and billing for extras. We need a system to streamline this.” Obtain a document flow diagram for the problem described above. a, b, c, d, represent students’ attendance and extras record. Fig. 3.10 Figure for Solution 3.10 3.11 What are operational, tactical, and strategic information needed for Exercise 3.10? Operational • Regular billing • Find if bills paid within specified period • Total earnings • Daily rate Tactical • Habitual late payments by students • Predict days with large absentees and adjust food cooked • Most popular extras Strategic • Extras pricing to reduce daily rates • Whether to give rebate for absence • Closing down mess on some days System Analysis and Design/Information gathering Question Bank QUESTION BANK 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 Describe the general strategy an analyst should use to gather information. What are the main sources of information in an organization? What are the methods of gathering information? Why are interviews essential in gathering information? How should an analyst prepare before an interview? Are group discussions useful in information gathering? Give reasons. Are there some guidelines for good interviewing? State them. What is the advantage of using a questionnaire in fact gathering? When should questionnaires be used? When should questionnaires be not used? State as many sources of information as you can think of. What is the last step in information gathering? V. Rajaraman/IISc M3/V1/July 2004/1 System Analysis and Design/Information gathering Question Bank MODULE 3 CASE STUDY HOSTEL INFORMATION SYSTEM – Fact Gathering and Requirements Determination System analyst's diary: "I was called at 9 a.m. today (18 March 04) by the chief Warden of Raman Hostel, Prof.V.Ramakrishna. He wants to examine if computers can help in hostel administration. I made an appointment to meet him tomorrow at 10 a.m. in the hostel office. I told him I will need 40 minutes to get an overview of his requirements". I made the following checklist before meeting him. Checklist • • • • • • • Find out what aspects of hostel operation he wants to analyze and improve. Find out why he wants this and what benefits he foresees. Find out his priorities Find out how early he wants the system. Find out about the organization of the hostel administration. Find out who else he wants me to talk to. Find out if any documentation on existing procedures exists. I met Prof.V.Ramakrishna at 10 a.m. on 19 March 04 in his office in the hostel and asked his permission to take notes. The summary of my notes which I made and sent to him on 20 March 04 for his comments are: • The total mess expenses are divided among members. Policy is set by the Chief Warden in consultation with a student mess committee. V. Rajaraman/IISc M3/V1/July 2004/2 System Analysis and Design/Information gathering Question Bank • He wants correct mess bills to be prepared and despatched within 5 days of the end of the month to the accounts office for collection. • • • • He wishes to know which students have large unpaid bills. He is eager to control inventories to minimize stock. He intents to control issue of stores to cooks to minimize wastage. He wants to do some planning about purchase of minimize cost and wastage. vegetables and fruits to • • He desires to have an up-to-date data base of students in hostel. The primary objective is to minimize students' mess bills, reduce outstanding payments, and have ready information about residents. • The priority order of the Chief Warden is: control inventory, control stores issues, ensure speedy bill collection, student data base. • • • He would like a new system to be implemented within 4 months. The organization chart of the hostel is given in Fig.3.1 The Chief Warden wants me to talk to assistant wardens, mess supervisors and students' mess committee members. • There is no procedure manual. commonsense approach. Most operation are done routinely using a Professor Ramakrishna agreed that my notes, on the whole, reflected our conversation. He added that the number of residents in the hostel was 400, all staying in single rooms. He further indicated that he could afford to install a Personal Computer if benefits can justify cost. I then made an appointment to meet Dr.M.N.Swamy, the assistant warden V. Rajaraman/IISc M3/V1/July 2004/3 System Analysis and Design/Information gathering Question Bank on 23 March 04 at 4 p.m. in his office. I requested half an hour of his time for discussions. I made the following checklist before meeting him: • • • Find out details of accounting and billing procedure currently used. Ascertain his ideas about the current system and improvements Try to know his ideas on deployment of personnel if a computer is used. The following notes were prepared by me on 23 March 04 evening. I used the jottings in my notebook made with Dr.Swamy's permission on 23 March 04 during the interview. Dr.Swamy is in-charge of all hostel accounts and is assisted by Mr.R.Sampath whose responsibilities are to collect mess dues from residents and issue receipts, prepare cheques for vendors' payments and keep petty cash account. Besides Mr.Sampath, there is Mr.K.S.Iyengar, an accountant, who keeps accounts of (a) daily purchases for the mess, (b) periodical purchases for mess, and (c) employees salaries (total around 30 employees). Presently there are three purchase payment procedures. These are: Monthly payment. Milk, green vegetables, meat, bread, butter, and confectionery are delivered daily. A delivery chalan with a bill is given. Delivery is checked by mess supervisor (Mr.Viswam) and the bill is sent to Mr.Iyengar. The rates are checked by the mess secretary (elected by residents) against market rates and negotiated with the vendor. The bill with the negotiated rate are filed by Mr.Iyengar and a copy given to the vendor. V. Rajaraman/IISc M3/V1/July 2004/4 System Analysis and Design/Information gathering Question Bank At the end of the month they are verified by the secretary and Dr.Swamy, and payment by cheque made to vendors. Cash payment. Items such as gas, coal, kerosene, dry fruits are received at random and immediate cash payment is made. Similarly, cash payment is made for cartage of goods and for cleaning of grains. Cash payment bill copy is kept by Mr.Iyengar as authorised by Dr.Swamy. Cash is paid by Mr.Sampath who keeps the cash accounts. Biweekly payment. Once in two weeks items such as sugar, grain, pulses, condiments, etc. are purchased from the wholesale market by a group consisting of mess secretary, Mr.Iyengar and Mr.Viswam. Rates are fixed by negotiations and bulk delivery is made to the hostel. Delivered quantities are checked by Mr.Viswam and bills filed by Mr.Iyengar. Bills are approved by Dr.Swamy, and the payments are made within two weeks by cheque. The mess bill is calculated by Mr.Iyengar and his assistant Mr.Singh. To find the daily rate, the total expenses are divided by the sum of the number of students who have their food in the mess every day. If the total expenses are say Rs.5,60,000, and 400 students eat on the first day, 395 on the second, and 406 on the third day, etc., then Daily rate = Rs.5,60,000 (400 + 395 + 406 + … for 30 days) = = Rs.5,60,000/12043 Rs.46.50 V. Rajaraman/IISc M3/V1/July 2004/5 System Analysis and Design/Information gathering Question Bank Currently, the manual calculation of bills takes over 6 days and many errors are found. Bills do not go on time to students. This needs a better system. Students are allowed to claim rebate if they do not eat for 2 days consecutively in the mess, provided they give minimum 3 days notice in writing in the register kept with the mess supervisor. Students can bring guests for meals and they have to enter the number of guests for meals (not more than 4 at a time) in a register. They can also order "extras" such as milk and eggs, which are entered in a register. Such entries from a daily register are transferred to another students extras/guests/rebate register which has one page for each student, and all entries for a student are written date-wise in this by Mr.Singh. This register is used in calculating individual bills. Dr.Swamy feels that this procedure complicates bill preparation. The student body wants this facility to be continued. Dr..Swamy feels that if a proper system is designed, Mr.Iyengar and Mr.Singh can be easily trained to use it, as both are intelligent and also know typing. The above notes were sent to Dr.Swamy who approved them. He added that a speedier and accurate billing method with full details will be welcomed by students. Currently full details of extras/guests are not provided in the bill as manual entry is too slow. Further follow-up with students who have not paid their mess bill is currently not methodical. V. Rajaraman/IISc M3/V1/July 2004/6 System Analysis and Design/Information gathering Question Bank I then decided to meet Dr.Prasad who is the assistant warden in charge of mess affairs. I fixed a meeting with him on 24 March 04 at 3 p.m. Before the interview the following points were noted in the checklist: • • • • Find out how items are issued to cooks each day Find out if any inventory control is exercised Find out how wastage is reduced Find out his ideas for an improved system and its operation. The following notes were prepared by me after the interview and sent to Dr.Prasad on 25 March 04. (Dr.Prasad oversees the work of Mr.Viswam, the mess manager, Mr.Garg, the store keeper, and coordinates with the student mess committee). Dr.Prasad is very unhappy with the way the inventory is controlled. The store keeper waits till an item is exhausted and only then he tells the mess manager about this. It leads to many trips to the city to order items and piecemeal arrival of items, leading to high travel/transport cost. Rs.8000 is spent in this which can be considerably reduced. Items are issued by the mess manager to the cooks based on nominal number of students in the hostel. Proper care is not taken to reduce issues to cooks when many students are absent. This leads to wastage. Over 100 different items are stocked in the store and a systematic technique of replenishing stock should be used. Mess bill could be reduced by bulk purchase of non-perishable items when their cost is low. This is not done. Dr.Prasad feels that use of a computer in inventory control and issue control can be very effective. V. Rajaraman/IISc M3/V1/July 2004/7 System Analysis and Design/Information gathering Question Bank The above notes were approved by Dr.Prasad who suggested that I should meet the secretary of the student mess committee Mr.A.Pramod. I found Mr.Pramod in his room in the hostel on 26th morning and he invited me to have a breakfast meeting. (Mr.Pramod was elected secretary 8 months ago and has 4 more months in his current term. He wants improvements within that period). He reiterated the points made by Dr.Prasad and Dr.Swamy on the need to systematize issues, inventory and billing. He pointed out one of the main difficulties he faced. Currently the bill is calculated at the end of the month. Till then he has no idea of what the daily rate will be. Very often the daily rate goes up sharply from say Rs.46 to Rs.54 which the students do not like. This leads to hasty economy measures in the mess without proper knowledge of the areas in which these measures will be effective. The student body would like to have uniform rates. This can be ensured if estimates of daily rates are available at the end of each week. If the rate tends to become high, some planned economy can be effected. Weekly adjustment can lead to uniform rates. The daily menu is decided by the mess manager in consultation with the mess secretary. Currently it is somewhat repetitive. Students joke" It is beans curry and therefor it is Wednesday". There must be some way of randomizing menus, keeping nutritional balance, variety of items and of effectively using seasonal low cost vegetables, thereby reducing the mess bill. He thinks aloud whether some operations research techniques can be used in this problem. I am somewhat intrigued by this suggestion. V. Rajaraman/IISc M3/V1/July 2004/8 System Analysis and Design/Information gathering Question Bank I summarized the above discussion and sent it to the mess secretary and Dr.Prasad for their comments. I next met employees of the mess to get their views. I met Mr.Viswam, the mess manager on 27 March morning. He explained his responsibilities as : • • Preparing daily menu based on advise from the mess committee. Preparing an "issue list" of items and quantities for each meal and sending it to the hostel store for issue to the kitchen. • Preparing a "return list" of items and quantities not used during the day by the cooks to the store. • • Stock register updating based on issue and return list. Keeping track of rebates to students absent from mess and extras taken by students which are to be separately charged. Relate rebates to stores issue. • Ordering items when stock level is low. In practice, however, ordering is done only when an item is exhausted. As delivery at door may be delayed, unnecessary special trips are made to do cash pruchases. Mr.Viswam felt that some help in automatically preparing issue list based on number of persons who will eat in the mess will be very helpful. He would also appreciate assistance in error free recording of rebates and extras. An automatic warning mechanism when stocks become low would be useful. Consolidation of purchases to reduce trips would be desirable. A summary of the above discussion was sent to Mr.Viswam for his comments. V. Rajaraman/IISc M3/V1/July 2004/9 System Analysis and Design/Information gathering Question Bank Next I met Mr.Mathews, the assistant mess manager. His responsibilities include supervising mess staff and day-to-day maintenance of the hostel. He also assists the warden in room allotment by keeping a list of available rooms, preferences, applications for change of rooms etc. He feels that mess bill preparation is time consuming as it takes a week. Room allotment, on the other hand, is not difficult and the current system is satisfactory. I then met Mr.Garg, the store-keeper. He keeps the stores stock register and helps the mess manager in preparing the issue and return lists. He prepares lists of items to be bought and monitors quality of supplies. I finally held a group meeting with the chief Warden, assistant wardens, mess manager, assistant manager, mess secretary, accountant and store-keeper. I showed the data and document flow diagrams (Figs. 3.2-3.4) prepared by me and got their approval. I then listed the critical needs which various persons identified. These are given in Table 3.1. Based on this a consensus was reached on what aspects needed. Table 3.1 Critical Needs Identified by Various Persons • • • • • Mess bills to be despatched within 5 days to students. Identify large outstanding bills from students. Correct billing of extras and rebates to students. Weekly calculation of daily rate. Prompt payment to vendors. M3/V1/July 2004/10 V. Rajaraman/IISc System Analysis and Design/Information gathering Question Bank • • • • • Issue of exact quantities of items to cooks based on menu and number of students. Reducing menu repetitions. Keeping a nutritionally balanced menu and minimizing cost. Forecasting requirement of stores based on menu and students. Consolidating purchases to reduce frequent trips for purchase and reducing cartage charges. • Student data base. Computerization, and priority among them was also determined. The following priority list was prepared as system to be computerised. Preparation of mess bill Stores issue and ordering system Menu planning Data base of hostel residents. They requested me to begin a feasibility study and provide a cost-benefit analysis of the above systems. End of Fact Gathering and Requirements Specification Phase. V. Rajaraman/IISc M3/V1/July 2004/11 MODULE 3 CASE STUDY HOSTEL INFORMATION SYSTEM – Fact Gathering and Requirements Determination System analyst's diary: "I was called at 9 a.m. today (18 March 04) by the chief Warden of Raman Hostel, Prof.V.Ramakrishna. He wants to examine if computers can help in hostel administration. I made an appointment to meet him tomorrow at 10 a.m. in the hostel office. I told him I will need 40 minutes to get an overview of his requirements". I made the following checklist before meeting him. Checklist • • • • • • • Find out what aspects of hostel operation he wants to analyze and improve. Find out why he wants this and what benefits he foresees. Find out his priorities Find out how early he wants the system. Find out about the organization of the hostel administration. Find out who else he wants me to talk to. Find out if any documentation on existing procedures exists. I met Prof.V.Ramakrishna at 10 a.m. on 19 March 04 in his office in the hostel and asked his permission to take notes. The summary of my notes which I made and sent to him on 20 March 04 for his comments are: • The total mess expenses are divided among members. Policy is set by the Chief Warden in consultation with a student mess committee. 1 • He wants correct mess bills to be prepared and despatched within 5 days of the end of the month to the accounts office for collection. • • • • He wishes to know which students have large unpaid bills. He is eager to control inventories to minimize stock. He intents to control issue of stores to cooks to minimize wastage. He wants to do some planning about purchase of vegetables and fruits to minimize cost and wastage. • • He desires to have an up-to-date data base of students in hostel. The primary objective is to minimize students' mess bills, reduce outstanding payments, and have ready information about residents. • The priority order of the Chief Warden is: control inventory, control stores issues, ensure speedy bill collection, student data base. • • • He would like a new system to be implemented within 4 months. The organization chart of the hostel is given in Fig.3.1 The Chief Warden wants me to talk to assistant wardens, mess supervisors and students' mess committee members. • There is no procedure manual. commonsense approach. Most operation are done routinely using a Professor Ramakrishna agreed that my notes, on the whole, reflected our conversation. He added that the number of residents in the hostel was 400, all staying in single rooms. He further indicated that he could afford to install a Personal Computer if benefits can justify cost. I then made an appointment to meet Dr.M.N.Swamy, the assistant warden 2 on 23 March 04 at 4 p.m. in his office. I requested half an hour of his time for discussions. I made the following checklist before meeting him: • • • Find out details of accounting and billing procedure currently used. Ascertain his ideas about the current system and improvements Try to know his ideas on deployment of personnel if a computer is used. The following notes were prepared by me on 23 March 04 evening. I used the jottings in my notebook made with Dr.Swamy's permission on 23 March 04 during the interview. Dr.Swamy is in-charge of all hostel accounts and is assisted by Mr.R.Sampath whose responsibilities are to collect mess dues from residents and issue receipts, prepare cheques for vendors' payments and keep petty cash account. Besides Mr.Sampath, there is Mr.K.S.Iyengar, an accountant, who keeps accounts of (a) daily purchases for the mess, (b) periodical purchases for mess, and (c) employees salaries (total around 30 employees). Presently there are three purchase payment procedures. These are: Monthly payment. Milk, green vegetables, meat, bread, butter, and confectionery are delivered daily. A delivery chalan with a bill is given. Delivery is checked by mess supervisor (Mr.Viswam) and the bill is sent to Mr.Iyengar. The rates are checked by the mess secretary (elected by residents) against market rates and negotiated with the vendor. The bill with the negotiated rate are filed by Mr.Iyengar and a copy given to the vendor. 3 At the end of the month they are verified by the secretary and Dr.Swamy, and payment by cheque made to vendors. Cash payment. Items such as gas, coal, kerosene, dry fruits are received at random and immediate cash payment is made. Similarly, cash payment is made for cartage of goods and for cleaning of grains. Cash payment bill copy is kept by Mr.Iyengar as authorised by Dr.Swamy. Cash is paid by Mr.Sampath who keeps the cash accounts. Biweekly payment. Once in two weeks items such as sugar, grain, pulses, condiments, etc. are purchased from the wholesale market by a group consisting of mess secretary, Mr.Iyengar and Mr.Viswam. Rates are fixed by negotiations and bulk delivery is made to the hostel. Delivered quantities are checked by Mr.Viswam and bills filed by Mr.Iyengar. Bills are approved by Dr.Swamy, and the payments are made within two weeks by cheque. The mess bill is calculated by Mr.Iyengar and his assistant Mr.Singh. To find the daily rate, the total expenses are divided by the sum of the number of students who have their food in the mess every day. If the total expenses are say Rs.5,60,000, and 400 students eat on the first day, 395 on the second, and 406 on the third day, etc., then Daily rate = Rs.5,60,000 (400 + 395 + 406 + … for 30 days) = = Rs.5,60,000/12043 Rs.46.50 4 Currently, the manual calculation of bills takes over 6 days and many errors are found. Bills do not go on time to students. This needs a better system. Students are allowed to claim rebate if they do not eat for 2 days consecutively in the mess, provided they give minimum 3 days notice in writing in the register kept with the mess supervisor. Students can bring guests for meals and they have to enter the number of guests for meals (not more than 4 at a time) in a register. They can also order "extras" such as milk and eggs, which are entered in a register. Such entries from a daily register are transferred to another students extras/guests/rebate register which has one page for each student, and all entries for a student are written date-wise in this by Mr.Singh. This register is used in calculating individual bills. Dr.Swamy feels that this procedure complicates bill preparation. The student body wants this facility to be continued. Dr..Swamy feels that if a proper system is designed, Mr.Iyengar and Mr.Singh can be easily trained to use it, as both are intelligent and also know typing. The above notes were sent to Dr.Swamy who approved them. He added that a speedier and accurate billing method with full details will be welcomed by students. Currently full details of extras/guests are not provided in the bill as manual entry is too slow. Further follow-up with students who have not paid their mess bill is currently not methodical. 5 I then decided to meet Dr.Prasad who is the assistant warden in charge of mess affairs. I fixed a meeting with him on 24 March 04 at 3 p.m. Before the interview the following points were noted in the checklist: • • • • Find out how items are issued to cooks each day Find out if any inventory control is exercised Find out how wastage is reduced Find out his ideas for an improved system and its operation. The following notes were prepared by me after the interview and sent to Dr.Prasad on 25 March 04. (Dr.Prasad oversees the work of Mr.Viswam, the mess manager, Mr.Garg, the store keeper, and coordinates with the student mess committee). Dr.Prasad is very unhappy with the way the inventory is controlled. The store keeper waits till an item is exhausted and only then he tells the mess manager about this. It leads to many trips to the city to order items and piecemeal arrival of items, leading to high travel/transport cost. Rs.8000 is spent in this which can be considerably reduced. Items are issued by the mess manager to the cooks based on nominal number of students in the hostel. Proper care is not taken to reduce issues to cooks when many students are absent. This leads to wastage. Over 100 different items are stocked in the store and a systematic technique of replenishing stock should be used. Mess bill could be reduced by bulk purchase of non-perishable items when their cost is low. This is not done. Dr.Prasad feels that use of a computer in inventory control and issue control can be very effective. 6 The above notes were approved by Dr.Prasad who suggested that I should meet the secretary of the student mess committee Mr.A.Pramod. I found Mr.Pramod in his room in the hostel on 26th morning and he invited me to have a breakfast meeting. (Mr.Pramod was elected secretary 8 months ago and has 4 more months in his current term. He wants improvements within that period). He reiterated the points made by Dr.Prasad and Dr.Swamy on the need to systematize issues, inventory and billing. He pointed out one of the main difficulties he faced. Currently the bill is calculated at the end of the month. Till then he has no idea of what the daily rate will be. Very often the daily rate goes up sharply from say Rs.46 to Rs.54 which the students do not like. This leads to hasty economy measures in the mess without proper knowledge of the areas in which these measures will be effective. The student body would like to have uniform rates. This can be ensured if estimates of daily rates are available at the end of each week. If the rate tends to become high, some planned economy can be effected. Weekly adjustment can lead to uniform rates. The daily menu is decided by the mess manager in consultation with the mess secretary. Currently it is somewhat repetitive. Students joke" It is beans curry and therefore it is Wednesday". There must be some way of randomizing menus, keeping nutritional balance, variety of items and of effectively using seasonal low cost vegetables, thereby reducing the mess bill. He thinks aloud whether some operations research techniques can be used in this problem. I am somewhat intrigued by this suggestion. 7 I summarized the above discussion and sent it to the mess secretary and Dr.Prasad for their comments. I next met employees of the mess to get their views. I met Mr.Viswam, the mess manager on 27 March morning. He explained his responsibilities as : • • Preparing daily menu based on advise from the mess committee. Preparing an "issue list" of items and quantities for each meal and sending it to the hostel store for issue to the kitchen. • Preparing a "return list" of items and quantities not used during the day by the cooks to the store. • • Stock register updating based on issue and return list. Keeping track of rebates to students absent from mess and extras taken by students which are to be separately charged. Relate rebates to stores issue. • Ordering items when stock level is low. In practice, however, ordering is done only when an item is exhausted. As delivery at door may be delayed, unnecessary special trips are made to do cash purchases. Mr.Viswam felt that some help in automatically preparing issue list based on number of persons who will eat in the mess will be very helpful. He would also appreciate assistance in error free recording of rebates and extras. An automatic warning mechanism when stocks become low would be useful. Consolidation of purchases to reduce trips would be desirable. A summary of the above discussion was sent to Mr.Viswam for his comments. 8 Next I met Mr.Mathews, the assistant mess manager. His responsibilities include supervising mess staff and day-to-day maintenance of the hostel. He also assists the warden in room allotment by keeping a list of available rooms, preferences, applications for change of rooms etc. He feels that mess bill preparation is time consuming as it takes a week. Room allotment, on the other hand, is not difficult and the current system is satisfactory. I then met Mr.Garg, the store-keeper. He keeps the stores stock register and helps the mess manager in preparing the issue and return lists. He prepares lists of items to be bought and monitors quality of supplies. I finally held a group meeting with the chief Warden, assistant wardens, mess manager, assistant manager, mess secretary, accountant and store-keeper. I showed the data and document flow diagrams (Figs. 3.2-3.4) prepared by me and got their approval. I then listed the critical needs which various persons identified. These are given in Table 3.1. Based on this a consensus was reached on what aspects needed. Table 3.1 Critical Needs Identified by Various Persons • • • • • Mess bills to be despatched within 5 days to students. Identify large outstanding bills from students. Correct billing of extras and rebates to students. Weekly calculation of daily rate. Prompt payment to vendors. 9 • • • • • Issue of exact quantities of items to cooks based on menu and number of students. Reducing menu repetitions. Keeping a nutritionally balanced menu and minimizing cost. Forecasting requirement of stores based on menu and students. Consolidating purchases to reduce frequent trips for purchase and reducing cartage charges. • Student data base. Computerization, and priority among them was also determined. The following priority list was prepared as system to be computerised. Preparation of mess bill Stores issue and ordering system Menu planning Data base of hostel residents. They requested me to begin a feasibility study and provide a cost-benefit analysis of the above systems. End of Fact Gathering and Requirements Specification Phase. 10 MODULE 3 REFERENCE BOOKS 1. Most of the material including the case study has been adapted from Chapter 4, Analysis and Design of Information Systems by V.Rajaraman published by Prentice Hall of India 2002 with permission from publisher. 2. Systems Analysis and Design, by K.E.Kendell and J.E.Kendell published by Pearson Education Asia 2002 discuss in detail fact gathering in pp.117-196. They cover interviewing, questionnaire use and observing an organization very thoroughly. Mini Project Suggestion (Module 3) 1. Talk to your medical shop owner and find out what his information requirements are. Divide it into operational, tactical, strategic and statutory components. Describe how his operational and tactical information needs could be satisfied if he installs a PC. 2. Go to a small hospital or nursing home in your neighbourhood and find out what their information needs are. Classify them into operational, tactical, statutory and strategic components. 3. Talk to your college registrar/administrative officer and staff. Find out their information needs. How are they currently fulfilled? SUMMARY OF MODULE 3 1. It is necessary to gather all relevant information about an organization as a first step in systems analysis. 2. The steps followed in gathering information are to first identify information sources and then find an appropriate method of obtaining information from each identified source. 3. The most important source of information, both qualitative and quantitative, are the users of the system at all levels. 4. Other secondary sources are forms and reports used by the organization and any procedure manual or book of rules. 5. Information is gathered from top down. An overview is obtained at the top. Details are obtained from those at the working level. Gaining the confidence of working level users is vital for the success of any project. 6. Interviewing techniques have to be learnt by an analyst as he or she has to conduct a large number of interviews. 7. The key to a successful interview is to observe good manners, have an open mind, and encourage the person being interviewed to reveal all important details. 8. Distribution of questionnaires is not a substitute for interviews. Questionnaires are most useful when quantitative data are to be gathered from a large number of persons. MODULE 4 FEASIBILITY ANALYSIS OBJECTIVE QUESTIONS There are 4 alternative answers to each question. One of them is correct. Pick the correct answer. Do not guess. A key is given at the end of the module for you to verify your answer LEARNING UNIT 1 4.1.1 Pick quantified goals from those given below (i) payment should be made promptly (ii) payment should be made before 5th of every month (iii) the age of the persons should be below 35 (iv) the person to be recruited should be middle aged (a) i and ii (b) i and iii (c) ii and iii (d) ii and iv 4.1.2 Quantification of goals is required because (a) without quantification no work can be done (b) when goals are quantified it is possible to verify unambiguously whether they have been fulfilled (c) goals have to be quantified for a good system (d) it facilitates designing a good system 4.1.3 Quantification of goals is done by (a) converting subjective goal statements to ones with numbers (b) converting subjective goal statements to objective goal statements (c) converting objective goal statements to subjective goal statements (d) removing all adjectives in a goal statement 4.1.4 Quantified version of the statement: “The inventory should be reduced substantially“ is (a) the inventory should be reduced effectively (b) the inventory should be reduced significantly (c) the inventory should be reduced very much (d) the inventory should be reduced by 25% 4.1.5 (a) (b) (c) (d) 4.1.6 Goals are identified by finding the deficiencies in the current system observing the current system analyzing competitor’s system finding the advantages in the current system Deficiencies in a system are pinpointed by identifying missing function excessive cost of operation poor management poor operation (a) i and iii (b) i and ii (c) i and iv (d) ii and iii Goals are identified by discussion with all concerned pinpointing unsatisfactory performance finding poor management examining a variety of documents (i) (ii) (iii) (iv) 4.1.7 (a) (b) (c) (d) 4.1.8 Characteristics of good goals are that they (i) are quantified (ii) improve quality (iii) are realizable within the constraints of the organization (iv) aim at an ideal system (a) i and ii (b) ii and iv (c) ii and iii (d) i and iii 4.1.9 (a) (b) (c) (d) Goals should be agreeable to top management project leader all concerned, both management and operational staff programmers 4.1.10 Goals should be broken down to sub-goals as it (a) expedites system design (b) provides a convenient target to aim at during system design (c) is recommended by experienced analysts (d) is good idea to use LEARNING UNIT 2 4.2.1 During feasibility analysis it is necessary to examine several alternative solutions because (i) a comparison of alternatives will lead to a cost-effective solution (ii) a pre-conceived single solution may turn out to be unimplementable (iii) it is always good to examine alternatives (iv) management normally looks at alternatives (a) i and iii (b) i and iv (c) i and ii (d) ii and iv 4.2.2 A computer-based information system (a) may require some tasks to be done manually (b) should not have any manual tasks (c) is always fully automated (d) may use only computers 4.2.3 (a) (b) (c) (d) 4.2.4 (a) (b) (c) (d) 4.2.5 (a) (b) (c) (d) 4.2.6 (a) (b) (c) (d) Among alternative solutions for an information system one may consider PC based solutions only an improved manual system only client-server based solutions as they are popular now-a-days whatever management decides By technical feasibility of a solution we mean that technology is available to implement it persons are available to implement it persons have technical ability to implement it funds are available to implement it By operational feasibility we mean the system can be operated nicely the system is unusable by operators the system can be adapted by an organization without major disruptions the system can be implemented By economic feasibility of a system we mean that it is economical to operate it is expensive to operate it will be cost-effective if implemented finances are available to implement the system and it will be cost-effective 4.2.7 (i) (ii) (iii) (iv) A solution is said to be feasible for implementation if it is cost-effective and finance is available to implement it technology is available to implement it it can be adapted to work in an organization’s environment it has been implemented in another organization (a) ii and iii (b) i, ii and iii (c) i and iv (d) i, ii and iv LEARNING UNIT 3 4.3.1 (a) (b) (c) (d) 4.3.2 (a) (b) (c) A cost-benefit analysis is performed to assess economic feasibility operational feasibility technical feasibility all of the above The primary objective of cost-benefit analysis is to find out direct and indirect cost of developing the information system to determine the tangible benefits of the information system to determine if it is economically worthwhile to invest in developing the information system (d) to determine the intangible benefits of the information system A cost-benefit analysis is performed as a part of system design system specification system performance assessment feasibility analysis 4.3.3 (a) (b) (c) (d) 4.3.4 A cost benefit analysis consists of (i) finding the direct and indirect cost of developing, implementing and running the system (ii) finding out the tangible and intangible benefit of the system (iii) finding the investment to be made in the system (iv) finding the profit which will accrue from the system (a) iii and iv (b) i and iv (c) ii and iii (d) i and ii 4.3.5 The tangible benefits in the following list are (i) savings due to reducing investment (ii) savings due to sending bills faster and consequent early collection (iii) providing better service to the customers (iv) improving quality of company’s products (a) i and ii (c) iii and iv 4.3.6 (i) (ii) (iii) (iv) (b) ii and iii (d) i and iii The intangible benefits in the following list are savings due to reducing investment savings due to sending bills faster and consequent early collection providing better service to the customers improving quality of company’s products (a) i and ii (b) ii and iii (c) iii and iv (d) i and iii 4.3.7 (a) (b) (c) (d) Intangible benefits are not very important as important as tangible benefits the most important benefits irrelevant in feasibility study 4.3.8 Pick the indirect cost from the following (a) cost of new forms (b) cost of training analysts and users (c) cost of software to be brought (d) cost of fact gathering 4.3.9 In payback method one finds out (a) the period necessary to invest the cost of the system (b) the time required for the full benefits to accrue (c) the time at which benefits exceed cost (d) whether the system is able to payback amount invested 4.3.10 In simple payback method one (a) accounts for interest payments on benefits (b) ignores interest payments (c) only accounts for interest on capital investments (d) only accounts for interest on recurring expenses 4.3.11In designing a system it is found that the cost of the system was Rs 1,50,000 and the benefit is Rs 10,000 per month. The interest is 1% per month; the payback period using payback method with interest is (a) 14 months (b) 17 months (c) 15 months (d) 20 months 4.3.12 In designing a system it is found that the cost of the system was Rs 1,50,000 and the benefit is Rs 10,000 per month. The interest is 1% per month; the payback period using the present value method is (a) 14 months (b) 17 months (c) 15 months (d) 20 months 4.3.13 In present value method one has to account for (a) interest rate prevalent at a given time (b) exchange rate prevalent at a given time (c) sales tax rate prevalent at a given time (d) both income and sales tax rates prevalent at a given time 4.3.14 At the end of the feasibility study the systems analyst (a) meets the users for a discussion (b) gives a summary feasibility report to the management (c) gives a systems proposal to management (d) tells the top management if the system is not feasible 4.3.15 The most important parts of a feasibility report are (i) cost-benefit analysis (ii) statement of the objective of the proposed system (iii) who will supply equipment for implementing the system (iv) organizational changes needed to successfully implement the system (a) i and ii (b) i, ii and iii (c) i and iv (d) i, ii and iv 4.3.16 A detailed system proposal is prepared by a systems analyst if (a) management is not clear about what the system will do (b) the analysts feels it is necessary to convince the management (c) management approves the feasibility report (d) the analyst feels it will be a challenging system to implement 4.3.17 The main objectives of a detailed system proposal are to (i) convince management about the benefits of the proposed system (ii) explain in detail to the management what to expect from the system and at what cost (iii) have a detailed plan on what the system will do and how it will be implemented (iv) make sure that it is possible to implement the system (a) i and ii (b) ii and iii (c) i and iv (d) ii and iv 4.3.18 The following are the most important points of a detailed system proposal (i) who will supply and install the required equipment (ii) cost-benefit analysis (iii) comparison of alternative solutions (iv) implementation plan (a) i, ii and iii (b) i, iii and iv (c) ii, iii and iv (d) ii and iii KEY TO OBJECTIVE QUESTIONS 4.1.1 4.1.7 4.2.3 4.3.2 4.3.8 4.3.14 c b b c d b 4.1.2 4.1.8 4.2.4 4.3.3 4.3.9 4.3.15 b d a d c d 4.1.3 4.1.9 4.2.5 4.3.4 4.3.10 4.3.16 a c c d b c 4.1.4 4.1.10 4.2.6 4.3.5 4.3.11 4.3.17 d b d a c b 4.1.5 4.2.1 4.2.7 4.3.6 4.3.12 4.3.18 a c b c b c 4.1.6 4.2.2 4.3.1 4.3.7 4.3.13 b a a b a MODULE 4 FEASIBILITY ANALYSIS Learning Units 4.1 How to formulate project goals and quantify them 4.2 Examining alternative solutions and evaluating proposed solutions a) Technical feasibility b) Operational feasibility c) Economic feasibility 4.3 Cost benefit analysis.Documenting feasibility report. System Analysis And Design © V. Rajaraman MOTIVATION • Before a management decides to implement a computer based system they should know the goals which will be met by the system •These goals should primarily be quantitative goals so that when the system is implemented it is possible to compare quantitatively the achievements with the original goals set. •Analysts should also be able to estimate what hardware and human resources will be needed to implement a system to meet the goals Systems Analysis And Design © V. Rajaraman 1 of 30 MOTIVATION • Analyst must examine alternative methods to implement the system and their resource needs. •A cost-benefit analysis should be carried out for each alternative and given to the management •This analysis will be essential for a management to decide which solution they would like to implement •Feasibility of meeting goals with available technology and human resource and cost/benefit are important parameters for informed management decision making. Systems Analysis And Design © V. Rajaraman 2 of 30 LEARNING GOALS • How to formulate the goals to be met by the information system to be designed •How to quantify the goals •How to obtain alternative solutions to satisfy the goals •How to assess the feasibility of implementing alternative solutions. •How to compute cost vs benefits of each alternative feasible solution •How to prepare a system proposal for the potential users of the system Systems Analysis And Design © V. Rajaraman 3 of 30 FEASIBILITY ANALYSIS The following are the results of the Information gathering phase: Deficiency of the current system are found Consensus is arrived at on requirements SRS Document is prepared 4.1.1 Systems Analysis And Design © V. Rajaraman 4 of 30 STEPS IN FEASIBILITY ANALYSIS • Note down deficiencies in current system found while preparing SRS Document • Set goals to remove deficiencies • Quantify Goals • Find alternative solutions to meet goals • Evaluate feasibility of alternative solutions taking into account constraints on resources. • Rank order alternatives and discuss with user. • Prepare a system proposal for management approval 4.1.2 Systems Analysis And Design © V. Rajaraman 5 of 30 FEASIBILITY ANALYSIS Define the goals and sub-goals of the proposed system Quantify the goals and sub-goals from the verbal statement of goal For example: Send bill soon after month end Quantified statement of the same goal: Send bill within 5 days of month end Find out whether it is possible to meet these goals. Determine the cost of meeting each goal Find cost benefit if quantified 4.1.3 Systems Analysis And Design © V. Rajaraman 6 of 30 GUIDELINES FOR SEARCHING GOALS Identify the deficiency by pinpointing -Missing Functions -Unsatisfactory performance -Excessive cost of operations Set Goals to remove deficiency and provide competitive advantage 4.1.4 Systems Analysis And Design © V. Rajaraman 7 of 30 CHARACTERSTICS OF A GOAL Must be quantified Realizable with the constraints of the organization and the system Broken down into Sub-Goals Agreeable to all concerned In general goals must not only remove deficiency but also give a system which is superior to those of the competitors of the organization 4.1.5 Systems Analysis And Design © V. Rajaraman 8 of 30 CASE STUDY-HOSTEL INFORMATION SYSTEM (Detailed description of case is given in module3) DEFICIENCIES OF CURRENT SYSTEM IDENTIFIED MISSING FUNCTIONS 1.1 Stores requirement not forecast 1.2 Purchases not consolidated 1.3 Daily rate calculation not frequently updated 1.4 Menu not planned for balanced nutrition and low cost 4.1.6 Systems Analysis And Design © V. Rajaraman 9 of 30 CASE STUDY-HOSTEL INFORMATION SYSTEM DEFICIENCIES (BAD PERFORMANCE) UNSATISFACTORY PERFORMANCE 2.1 Billing not accurate and prompt 2.2 Student bills not itemized 2.3 Stores issue to cooks arbitrary 2.4 Payments to vendors not prompt 2.5 Large variations in mess bills every month 4.1.7 Systems Analysis And Design © V. Rajaraman 10 of 30 CASE STUDY-HOSTEL INFORMATION SYSTEM DEFICIENCIES (HIGH OPERATIONAL COST) 3.1Unpaid and long outstanding bills from students 3.2 Extras and rebates not reflected in stores issues 3.3 Frequent small purchases at high cost 3.4 High transport cost due to not consolidating stores requirements 4.1.8 Systems Analysis And Design © V. Rajaraman 11 of 30 CASE STUDY-HOSTEL INFORMATION SYSTEM FORMULATIOIN OF GOALS MAIN GOALS Ml . Send bill to students within 5 days of the end of month M2. Control inventory of items in stores & issues to cooks to bring down mess bill by 10% M3. Balance menu to meet nutritional requirements M4. Cost of new menu not to exceed current cost 4.1.9 Systems Analysis And Design © V. Rajaraman 12 of 30 CASE STUDY-HOSTEL INFORMATION SYSTEM FORMULATION OF SUB-GOALS S1.1 Itemize bills showing extras and rebates with dates S1.2 Ensure less than 5% variations of bills from month to month SI.3 Bills not paid within 10 days of issue brought to the attention of chief warden S1.4 Update daily rates every day Main goals M1 and sub-goals S1.1,S1.2,S1.3 remove deficiencies 1.3,2.1,1.2.2,2.5,3.1 4.1.10 Systems Analysis And Design © V. Rajaraman 13 of 30 CASE STUDY-HOSTEL INFORMATION SYSTEM FORMULATIOIN OF SUB-GOALS S2.1 Ensure payment to vendors within five days of supply of items S2.2 Maximum 4 trips per month for purchases. Cartage less than 1% of item cost S2.3 Reduce inventory level. Level not more than 10% of requirements in a month S2.4 Issue to cooks every day not to exceed 5% of calculated values Main goals M1& sub-goals above remove deficiencies 1.1,1.2,2.3,2.4,3.2,3.3,3.4 4.1.11 Systems Analysis And Design © V. Rajaraman 14 of 30 EXAMINING ALTERNATIVE SOLUTIONS HOSTEL INFORMATION SYSTEM ALTERNATIVE SOLUTIONS A: Improve manual system B: Use PC based periodic update system C: An on-line system with server and several clients 4.2.1 Systems Analysis And Design © V. Rajaraman 15 of 30 SOLUTION A: MANUAL SYSTEM Manual System may be improved as follows • Keep up-to-date running total of extras and rebates for each student • Use look up table to find material needed each day based on number of extras • Cost each day's issue and keep running total • Calculate standard quantities needed and use for vendor order • Track student payments to find overdue payments • Solution does not ensure reduction in bill variations and prompt payment to vendors • Solution not scalable to large student population 4.2.2 Systems Analysis And Design © V. Rajaraman 16 of 30 SOLUTION B Use a single PC to • Prepare students bills-itemize bills • Prepare number of members who will eat for next two days • Alert warden when bill not paid within 10 days of issue • Vendor order generation • Inventory control of store • Menu planning 4.2.3 Systems Analysis And Design © V. Rajaraman 17 of 30 SOLUTION B PC configuration needed based on data base sizes PC with 20 MB disk, 1.2 MB floppy sufficient However minimum configuration available today(2004) is PC with 128 MB main memory, 40 GB disk 1.2MB floppy & CD R/W costs Rs. 25,000.Systems software(Windows XP+MSOffice+anti-virus) will cost around Rs.25,000. Total cost=Rs 50,000 Need PC+ printer+uninterrupted power supply cost Rs. 70,000 4.2.4 Systems Analysis And Design © V. Rajaraman 18 of 30 SOLUTION C • Use a server which is accessed by 3 clients one each in the mess, the stores and the accounts sections; perform on-line transaction processing. • Advantage: Up to the minute status can be found •Number of transactions small and does not justify 4 computers •Solution unnecessarily expensive and rejected 4.2.5 Systems Analysis And Design © V. Rajaraman 19 of 30 EVALUATING ALTERNATIVE SOLUTIONS • Determine Technical feasibility of each solution,in other words is technology mature to implement a solution • Determine Operational feasibility of each solution.In other words,for a given organizational structure will the solution fit in.Will it provide right information at the right time to users • Determine Economic feasibility of each solution.In other words, are finances available to implement system?Will it be cost effective?Will the money spent be recovered by savings or by better services to users 4.2.6 Systems Analysis And Design © V. Rajaraman 20 of 30 TECHNICAL AND OPERATIONAL FEASIBILITY •Solution B is selected for further consideration • It is technically feasible as PC of necessary configuration is easily available. • It is also operationally feasible as clerks in hostel office can be easily trained to use a PC. The necessary problems will be written by system analyst/ programmer hired for this purpose. 4.2.7 Systems Analysis And Design © V. Rajaraman 21 of 30 COST-BENEFIT ANALYSIS • Needed to find economic feasibility of proposed solution • Objective to find whether returns by implementing a system justify the cost • Found by listing all costs direct and indirect • Direct cost- Cost of computer, software, space, human resource, material,travel, training etc. • Indirect cost- Time spent by persons and data gathering • Benefit- Tangible- measurable Intangible- better management -better user satisfaction 4.3.1 Systems Analysis And Design © V. Rajaraman 22 of 30 BENEFITS Direct - Savings due to reduced inventory, early collection of outstanding payments, reduced wastage,faster production, increased production Indirect –Increased work done with same human resource Intangible - better service to customers - superior product quality - accurate,reliable,timely and up-to-date strategic,tactical and operational information to management 4.3.2 Systems Analysis And Design © V. Rajaraman 23 of 30 COST – BENEFITS ANALYSIS CASE STUDY OF HOSTEL INFORMATION SYSTEM COST : PC,UPS,Printer+Systems analyst+programmer Capital 70,000 +60,000 =1,30,000 Cost(Recurring) : Stationery, maintenance,floppy etc. Rs. 2000 per month Benefits : - Inventory reduction 5% of mess bill of 400 students Daily rate=Rs 45 Savings= 45*0.05*30*400=Rs 27,000 - Transport cost saving=Rs 800 per month - Savings due to early payment =material cost*1.2%=37.5*400*30*0.012=Rs 5400 - Savings due to early collection =40*1350*0.01=Rs 540 4.3.3 Systems Analysis And Design © V. Rajaraman 24 of 30 COST – BENEFITS ANALYSIS Direct saving=33740 Indirect benefit : student satisfaction due to itemized bill, predictable daily rate,better menu Net Direct Saving per month= 33740-2000 =R31740 Total capital cost=l,30,000 4.3.4 Systems Analysis And Design © V. Rajaraman 25 of 30 PAY BACK PERIOD SIMPLE: Cost 1,30,000 Saving 31,740 per month Cost recovered in 130000/31740 = 4.1 months Using interest on capital: Monthly interest=0.015* 1,30,000 =Rs 1950 per month Saving per month=31740-1950=29790 Cost recovered in 130000/29790 = 4.4 months 4.3.5 Systems Analysis And Design © V. Rajaraman 26 of 30 PRESENT VALUE METHOD Accounts for the fact that a benefit accruing n months later will be lower today as the money if available today would have earned interest If r = Interest rate in % per month. n = number of months x = benefit Present value of benefit accruing n months later is: Present value = x/(1+r)n 4.3.6 Systems Analysis And Design © V. Rajaraman 27 of 30 COST-BENEFIT Present Value method This account for the fact that benefits each month will also earn interest Month Cost Net-Benefit present value of Benefit 0 1 2 3 4 5 1,30,000 0 31,740 31,740 31,740 31,740 31,740 0 31271 [email protected] cumulative Benefit 31271 62080 92434 122339 151802 30809 30354 29905 29463 This also give us less than 5 months as pay back period 4.3.7 Systems Analysis And Design © V. Rajaraman 28 of 30 STRUCTURE OF EXCUTIVE SUMMARY Feasibility report •What the proposed system will achieve •Who will be involved in operating the system •Organizational changes to implement system •List of benefits of the system •Cost of system - Capital +Recurring •Cost-benefit analysis © V. Rajaraman 4.3.8 Systems Analysis And Design 29 of 30 SYSTEM PROPOSAL STRUCTURE •Introduction with outline of proposal •Data flow diagram of existing system •Modified DFD of proposed system •Discuss alternative solutions •List new equipment to be installed (if any) •Technical,operational feasibility of analysis •Cost- Benefit analysis •New procedures, human resources and training needed •Anticipated problems •Implementation plan 4.3.9 Systems Analysis And Design © V. Rajaraman 30 of 30 MODULE 4 FEASIBILITY ANALYSIS Contents 1. MOTIVATION AND LEARNING GOALS 2. LEARNING UNIT 1 How to formulate project goals and quantify them 3. LEARNING UNIT 2 Examining alternative solutions and evaluating proposed solutions a) Technical feasibility b) Operational feasibility c) Economic feasibility 4. LEARNING UNIT 3 Cost benefit analysis. Documenting feasibility report 5. REFERENCES FEASIBILITY ANALYSIS MOTIVATION Before a management decides to implement a computer based system they should know the goals which will be met by the system. These goals should primarily be quantitative goals so that when the system is implemented it is possible to compare quantitatively the achievements with the original goals set. Analysts should be able to estimate what hardware and human resources will be needed to implement a system to meet the goals. Analyst must examine alternative methods to implement the system and their resource needs. A cost-benefit analysis should be carried out for each alternative and given to the management. This analysis will be essential for a management to decide which solution they would like to implement. Feasibility of meeting goals with available technology and human resource and cost/benefit are important parameters for informed management decisionmaking. LEARNING GOALS At the end of this module you will know • How to formulate the goals to be met by the information system to be designed •How to quantify the goals •How to obtain alternative solutions to satisfy the goals •How to assess the feasibility of implementing alternative solutions. •How to compute cost vs benefits of each alternative feasible solution •How to prepare a system proposal for the potential users of the system LEARNING UNIT 1 How to formulate project goals and quantify them STEPS IN FEASIBILITY ANALYSIS •Note down deficiencies in current system found while preparing SRS Document •Set goals to remove deficiencies •Quantify Goals •Find alternative solutions to meet goals •Evaluate feasibility of alternative solutions taking into account constraints on resources. •Rank order alternatives and discuss with user. •Prepare a system proposal for management approval Quantify the goals and sub-goals from the verbal statement of goal For example: Send bill soon after month end Quantified statement of the same goal: Send bill within 5 days of month end Find out whether it is possible to meet these goals. Determine the cost of meeting each goal Find cost benefit if quantified GUIDELINES FOR SEARCHING GOALS Identify the deficiency by pinpointing missing functions, unsatisfactory performance and excessive cost of operations. Set Goals to remove deficiency and provide competitive advantage CHARACTERSTICS OF A GOAL Must be quantified, realizable with the constraints of the organization and the system, broken down into Sub-Goals, agreeable to all concerned, in general goals must not only remove deficiency but also give a system which is superior to those of the competitors of the organization. CASE STUDY-HOSTEL INFORMATION SYSTEM (For details of this Case Study see Chapter 5 page 46-58 of book “Analysis and design of Information Systems”, Prentice Hall of India, New Delhi,2002 by V.Rajaraman) MISSING FUNCTIONS 1.1 Stores requirement not forecast 1.2 Purchases not consolidated 1.3 Daily rate calculation not frequently updated 1.4 Menu not planned for balanced nutrition and low cost UNSATISFACTORY PERFORMANCE 2.1 Billing not accurate and prompt 2.3 Student bills not itemized 2.3 Stores issue to cooks arbitrary 2.4 Payments to vendors not prompt 2.5 Large variations in mess bills every month DEFICIENCIES (HIGH OPERATIONAL COST) 3.1Unpaid and long outstanding bills from students 3.2 Extras and rebates not reflected in stores issues 3.3 Frequent small purchases at high cost 3.4 High transport cost due to not consolidating stores requirements FORMULATIOIN OF GOALS MAIN GOALS Ml . Send bill to students within 5 days of the end of month M2. Control inventory of items in stores & issues to cooks to bring down mess bill by 10% M3. Balance menu to meet nutritional requirements M4. Cost of new menu not to exceed current cost FORMULATION OF SUB-GOALS S1.1 Itemize bills showing extras and rebates with dates S1.2 Ensure less than 5% variations of bills from month to month SI.3 Bills not paid within 10 days of issue brought to the attention of chief warden S1.4 Update daily rates every day Main goals M1 and sub-goals S1.1,S1.2,S1.3 remove deficiencies 1.3,2.1,1.2.2,2.5,3.1 S2.1 Ensure payment to vendors within five days of supply of items S2.2 Maximum 4 trips per month for purchases. Cartage less than 1% of item cost S2.3 Reduce inventory level. Level not more than 10% of requirements in a month S2.4 Issue to cooks every day not to exceed 5% of calculated values Main goals M1& sub-goals above remove deficiencies 1.1,1.2,2.3,2.4,3.2,3.3,3.4 LEARNING UNIT 2 Examining alternative solutions and evaluating proposed solutions EXAMINING ALTERNATIVE SOLUTIONS HOSTEL INFORMATION SYSTEM ALTERNATIVE SOLUTIONS A: Improve manual system B: Use PC based periodic update system C: An on-line system with server and several clients SOLUTION A: MANUAL SYSTEM Keep up-to-date running total of extras and rebates for each student, use look up table to find material needed each day based on number of extras, calculate standard quantities needed and use for vendor order, track student payments to find overdue payments. Solution does not ensure reduction in bill variations and prompt payment to vendors, solution not scalable to large student population SOLUTION B: USE PC BASED PERIODIC UPDATE SYSTEM Use a single PC to prepare students bills and to itemize bills, prepare a list of number of members who will eat for next two days, alert warden when bill is not paid within 10 days of issue. Use a PC to generate Vendor order, Inventory control of store and Menu planning. The PC configuration needed based on data base sizes is: PC with 20 MB disk, 1.2 MB floppy is sufficient. However minimum configuration available today(2004) is PC with 128 MB main memory, 40 GB disk 1.2MB floppy & CD R/W costs Rs. 25,000.Systems software (Windows XP, MSOffice, anti-virus) will cost around Rs.25,000. So, the Total cost is Rs 50,000. But a PC with printer and uninterrupted power supply costs Rs. 70,000 SOLUTION C: AN ON-LINE SYSTEM WITH SERVER AND SEVERAL CLIENTS Use a server which is accessed by 3 clients one each in the mess, the stores and the accounts sections; perform on-line transaction processing. The advantage is up to the minute status can be found EVALUATING ALTERNATIVE SOLUTIONS Determine Technical feasibility of each solution, in other words is technology mature to implement a solution. Determine Operational feasibility of each solution. In other words, for a given organizational structure will the solution fit in. Will it provide right information at the right time to users? Determine Economic feasibility of each solution. In other words, are finances available to implement system? Will it be cost effective? Will the money spent be recovered by savings or by better services to users. TECHNICAL AND OPERATIONAL FEASIBILITY Solution B is rejected, as it does not meet most of the requirements. Solution C is rejected, as it is a high cost solution. Solution B is selected for further consideration. It is technically feasible as PC of necessary configuration is easily available. It is also operationally feasible as clerks in hostel office can be easily trained to use a PC. System analyst/ programmer hired for this purpose will write the necessary problems. LEARNING UNIT 3 Cost benefit analysis. Documenting feasibility report. COST-BENEFIT ANALYSIS This is done to find economic feasibility of proposed solution and to find whether returns by implementing a system justify the cost. This is found by listing direct and indirect costs Direct cost- Cost of computer, software, space, human resource, material, travel, training etc. Indirect cost- Time spent by persons and data gathering BENEFITS Tangible benefits are measurable. Direct benefits are savings due to reduced inventory, early collection of outstanding payments, reduced wastage, faster production, increased production. Indirect benefit is increased work done with same human resource. Intangible benefits are like better service to customers, superior product quality, accurate, reliable, timely and up-to-date strategic, tactical and operational information to management COST BENEFIT ANALYSIS CASE STUDY OF HOSTEL INFORMATION SYSTEM COST : PC,UPS,Printer+Systems analyst+programmer Capital 70,000 +60,000 =1,30,000 Cost(Recurring) : Stationery, maintenance,floppy etc. Rs. 2000 per month Benefits : - Inventory reduction 5% of mess bill of 400 students Daily rate=Rs 45 Savings= 45*0.05*30*400=Rs 27,000 - Transport cost saving=Rs 800 per month - Savings due to early payment =material cost*1.2%=37.5*400*30*0.012=Rs 5400 - Savings due to early collection =40*1350*0.01=Rs 540 Direct saving=33740 Indirect benefit : student satisfaction due to itemized bill, predictable daily rate, better menu Net Direct Saving per month= 33740-2000 = 31740 Total capital cost=l,30,000 PAY BACK PERIOD SIMPLE: Cost 1,30,000 Saving 31,740 per month Cost recovered in 130000/31740 = 4.1 months Using interest on capital: Monthly interest=0.015* 1,30,000 =Rs 1950 per month Saving per month=31740-1950=29790 Cost recovered in 130000/29790 = 4.4 months PRESENT VALUE METHOD Accounts for the fact that a benefit accruing n months later will be lower today as the money if available today would have earned interest If r = Interest rate in % per month. n = number of months x = benefit Present value of benefit accruing n months later is: Present value = x/(1+r)n COST-BENEFIT Present Value method This accounts for the fact that benefits each month will also earn interest Month Cost Net-Benefit present value of Benefit 0 1,30,000 0 0 1 31,740 31271 2 31,740 30809 3 31,740 30354 4 31,740 29905 5 31,740 29463 cumulative Benefit 31271 62080 92434 122339 151802 This also give us less than 5 months as pay back period STRUCTURE OF EXCUTIVE SUMMARY Feasibility report •What the proposed system will achieve •Who will be involved in operating the system •Organizational changes to implement system •List of benefits of the system •Cost of system - Capital +Recurring •Cost-benefit analysis SYSTEM PROPOSAL STRUCTURE •Introduction with outline of proposal •Data flow diagram of existing system •Modified DFD of proposed system •Discuss alternative solutions •List new equipment to be installed (if any) •Technical,operational feasibility of analysis •Cost- Benefit analysis •New procedures, human resources and training needed •Anticipated problems •Implementation plan REFERENCES 1. This module is based on Chapter 6, “Feasibility Analysis”, of the book Analysis and Design of Information Systems by V.Rajaraman, Prentice Hall of India. Parts of the the book have been used in case studies. 2. J.E.Kandall and J.E.Kandall, Systems Analysis and Design, 5th Edition, Pearson Education (Asia) 2003. Part of Chapter 3 pp.55-63 deal with feasibility analysis. It is reasonably well treated but does not have any quantitative examples. 3. R.Schultheis and Mary Summer, Management Information Systems, Tata McGraw Hill, 1999. Very short treatment of feasibility analysis as part of system Life Cycle (pp.544-545). 4. S.Alter, Information Systems, 4th Edition, Pearson Education Asia, New Delhi, 2002. A brief discussion of feasibility analysis presented on pp.481 as part of traditional life cycle method. In the same chapter there is a brief discussion of prototype method which is used when users are not able to state their requirements clearly. 5. K.C.Laudon and J.P.Laudon, Management Information Systems, Pearson Education Asia, New Delhi, 2004. Very brief discussion (one para only) on p.390) 6. J.A.Hoffer, J.F.George and J.S.Valacich, Modern Systems Analysis and Design, Pearson Education Asia, New Delhi 2002. Has a good discussion of feasibility. study on pp.168 to 181. Besides Technical, operational and Economic feasibility they also include other parameters which are schedule, legal/contractual and political feasibility which arise when one tries to develop a system. System Analysis and Design/ Feasibility Analysis Multiple Choice Questions 4.1 Pick quantified goals from those given below (i) payment should be made promptly (ii)payment should be made before 5th of every month (iii) the age of the persons should be below 35 (iv)the person to be recruited should be middle age a. i and ii b. i and iii c. ii and ii d. ii and iv 4.2 Quantification of goals is required because a. without quantification no work can be done b. When goals are quantified it is possible to verify unambiguously whether they have been fulfilled c. Goals have to be quantified for a good system d. it facilitates designing a good system 4.3 Quantification of goals is done by a. converting subjective goal statements to ones with numbers b. c. converting subjective goal statements to objective goal statements converting objective goal statements to subjective goal statements d. removing all adjectives in a goal statement 4.4 Quantified version of the statement: “The inventory should be reduced substantially“ is a. the inventory should be reduced effectively b. the inventory should be reduced significantly c. the inventory should be reduced very much d. the inventory should be reduced by 25% 4.5 Goals are identified by a. b. c. finding the deficiencies in the current system observing the current system analyzing competitor’s system d. finding the advantages in the current system V. Rajaraman/IISc. Bangalore M4/V1/July 04/1 System Analysis and Design/ Feasibility Analysis Multiple Choice Questions 4.6 Deficiencies in a system are pinpointed by identifying (i)missing function (ii)excessive cost of operation (iii)poor management (iv)poor operation a. i and iii b. i and ii c. i and iv d. ii and iii 4.7 Goals are identified by a. discussion with all concerned b. pinpointing unsatisfactory performance c. finding poor management d. examining a variety of documents 4.8 Characteristics of good goals are that they (i)are quantified (ii)improve quality (iii)are realizable within the constraints of the organization (iv)aim at an ideal system a. i and ii b. ii and iv c. ii and iii d. i and iii 4.9 Goals should be agreeable to a. b. c. top management project leader all concerned, both management and operational staff d. programmers 4.10 Goals should be broken down to sub-goals as it a. b. expedites system design provides a convenient target to aim at during system design V. Rajaraman/IISc. Bangalore M4/V1/July 04/2 System Analysis and Design/ Feasibility Analysis Multiple Choice Questions c. is recommended by experienced analysts d. is good idea to use 4.11 During feasibility analysis it is necessary to examine several alternative solutions because (i)a comparison of alternatives will lead to a cost-effective solution (ii)a pre-conceived single solution may turn out to be unimplementable (iii)it is always good to examine alternatives (iv)management normally looks at alternatives a. b. c. d. 4.12 i and iii i and iv i and ii ii and iv A computer-based information system a. b. c. may require some tasks to be done manually should not have any manual tasks is always fully automated d. may use only computers 4.13 Among alternative solutions for an information system one may consider a. b. c. d. 4.14 PC based solutions only an improved manual system only client-server based solutions as they are popular now-a-days whatever management decides By technical feasibility of a solution we mean that a. b. c. d. technology is available to implement it persons are available to implement it persons have technical ability to implement it funds are available to implement it 4.15 By operational feasibility we mean a. the system can be operated nicely V. Rajaraman/IISc. Bangalore M4/V1/July 04/3 System Analysis and Design/ Feasibility Analysis Multiple Choice Questions b. c. d. 4.16 the system is unusable by operators the system can be adapted by an organization without major disruptions the system can be implemented By economic feasibility of a system we mean that a. b. c. it is economical to operate it is expensive to operate it will be cost-effective if implemented d. finances are available to implement the system and it will be cost4.17 A solution is said to be feasible for implementation if (i)it is cost-effective and finance is available to implement it (ii)technology is available to implement it (iii)it can be adapted to work in an organization’s environment (iv)it has been implemented in another organization a. b. c. d. 4.18 ii and iii i, ii and iii i and iv i, ii and iv A cost-benefit analysis is performed to assess a. b. c. d. economic feasibility operational feasibility technical feasibility all of the above 4.19 The primary objective of cost-benefit analysis is a. b. c. to find out direct and indirect cost of developing the information system to determine the tangible benefits of the information system to determine if it is economically worthwhile to invest in developing the information system d. to determine the intangible benefits of the information system 4.20 A cost-benefit analysis is performed as a part of V. Rajaraman/IISc. Bangalore M4/V1/July 04/4 System Analysis and Design/ Feasibility Analysis Multiple Choice Questions a. b. c. d. 4.21 system design system specification system performance assessment feasibility analysis A cost benefit analysis consists of (i)finding the direct and indirect cost of developing, implementing and running the system (ii)finding out the tangible and intangible benefit of the system (iii)finding the investment to be made in the system (iv)finding the profit which will accrue from the system a. b. c. d. 4.22 iii and iv i and iv ii and iii i and ii The tangible benefits in the following list are (i)savings due to reducing investment (ii)savings due to sending bills faster and consequent early collection (iii)providing better service to the customers (iv)improving quality of company’s products a. b. c. d. i and ii ii and iii iii and iv i and iii 4.23 The intangible benefits in the following list are (i)savings due to reducing investment (ii)savings due to sending bills faster and consequent early collection (iii)providing better service to the customers (iv)improving quality of company’s products V. Rajaraman/IISc. Bangalore M4/V1/July 04/5 System Analysis and Design/ Feasibility Analysis Multiple Choice Questions a. b. c. d. 4.24 i and ii ii and iii iii and iv i and iii Intangible benefits are a. b. c. d. not very important as important as tangible benefits the most important benefits irrelevant in feasibility study 4.25 Pick the indirect cost from the following a. b. c. d. cost of new forms cost of training analysts and users cost of software to be brought cost of fact gathering 4.26 In payback method one finds out a. b. c. d. the period necessary to invest the cost of the system the time required for the full benefits to accrue the time at which benefits exceed cost whether the system is able to payback amount invested 4.27 In simple payback method one a. b. c. d. accounts for interest payments on benefits ignores interest payments only accounts for interest on capital investments only accounts for interest on recurring expenses 4.28 In designing a system it is found that the cost of the system was Rs 1,50,000 and the benefit is Rs 10,000 per month. The interest is 1% per month; the payback period using payback method with interest is a. b. c. d. 14 months 17 months 15 months 20 months V. Rajaraman/IISc. Bangalore M4/V1/July 04/6 System Analysis and Design/ Feasibility Analysis Multiple Choice Questions 4.29 In designing a system it is found that the cost of the system was Rs 1,50,000 and the benefit is Rs 10,000 per month. The interest is 1% per month; the payback period using the present value method is a. 14 months b. 17 months c. 15 months d. 20 months 4.30 In present value method one has to account for a. interest rate prevalent at a given time b. exchange rate prevalent at a given time c. sales tax rate prevalent at a given time d. both income and sales tax rates prevalent at a given time 4.31 At the end of the feasibility study the systems analyst a. meets the users for a discussion b. gives a summary feasibility report to the management c. gives a systems proposal to management d. tells the top management if the system is not feasible 4.32 The most important parts of a feasibility report are (i)cost-benefit analysis (ii)statement of the objective of the proposed system (iii)who will supply equipment for implementing the system (iv)organizational changes needed to successfully implement the system a. i and ii b. i, ii and iii c. i and iv d. i, ii and iv 4.33 A detailed system proposal is prepared by a systems anal a. management is not clear about what the system will do b. the analysts feels it is necessary to convince the management c. management approves the feasibility report V. Rajaraman/IISc. Bangalore M4/V1/July 04/7 System Analysis and Design/ Feasibility Analysis Multiple Choice Questions d. the analyst feels it will be a challenging system to implement 4.34 The main objectives of a detailed system proposal are to (i)convince management about the benefits of the proposed system (ii)explain in detail to the management what to expect from the system and at what cost (iii)have a detailed plan on what the system will do and how it will be implemented (iv)make sure that it is possible to implement the system a. i and ii b. ii and iii c. i and iv d. ii and iv 4.35 The following are the most important points of a detailed system proposal (i)who will supply and install the required equipment (ii)cost-benefit analysis (iii)comparison of alternative solutions (iv)implementation plan a. i, ii and iii b. i, iii and iv c. ii, iii and iv d. ii and iii V. Rajaraman/IISc. Bangalore M4/V1/July 04/8 System Analysis and Design/ Feasibility Analysis Multiple Choice Questions Key to Objective Questions 4. 1 4.7 4.13 4.19 c b b c 4.2 4.8 4.14 4.20 b d a d 4.3 4.9 4.15 4.21 a c c d 4.4 d 4.5 4.11 d a 4.17 4.23 a c b c 4.6 4.12 b a 4.10 b 4.16 4.22 4.28 c 4.34 b 4.1 8 a 4.24 4.30 a b 4.25 d 4.31 b 4.26 c 4.32 d 4.27 b 4.33 c 4.29 b 4.35 c V. Rajaraman/IISc. Bangalore M4/V1/July 04/9 MODULE 4 FEASIBILITY ANALYSIS WORKED EXAMPLES 4.1 What is the difference between main goals and sub-goals? Illustrate with an example. Main goal is based on a primary objective and sub-goals are secondary or subsidiary which are related to the main objective. For example, the main goal and sub-goals of an inventory control system may be as follows: Main goal: Reduce total inventory cost by 10% Sub-goals: (i) Find out items which are 50% above buffer level to take appropriate action. (ii)Find out items whose cost is 50% above average cost for closer control. 4.2 Is it essential to use computers in all information systems? No. Better systematization may sometimes be adequate to meet goals. However with the reduction in the cost of computers most organizations use computers. 4.3 Distinguish between technical, operational, and economic feasibility. A solution is technically feasible if technology is available to implement it. It is operationally feasible if it can fit in within the existing organization with only small changes. It is economically feasible if the investment made leads to adequate returns. A solution which requires, say, a large mainframe computer available in the market is technically feasible but may not be economically feasible due to high cost of the computer relative to expected benefits. It may not be operationally feasible due to lack of trained people to program the computer. 4.4 Give an example of a solution which is technically feasible, but not operationally feasible. It is technically feasible to computerize services in a bank by installing PCs with clerks who can be trained to operate it. It is operationally not feasible in certain banks due to agreement between management and union which do not allow use of computers for certain customer services. 4.5 Is it essential that an operationally feasible solution should be technically feasible? Discuss with examples. No. A computerized enquiry system where enquiries are made using a telephone and answers are automatically spoken out is operationally feasible. It is not technically feasible due to non-availability of speaker independent natural speech recognition technology. 4.6 Is it essential to have tangible benefits to justify an information system? If your answer is no, justify your answer by giving an example. No. A ticket reservation system in railways has not much tangible benefits. However, intangible benefits such as customer satisfaction, and ease of checking daily cash collection are sufficient reasons to implement the system. 4.7 A project costs Rs. 2 lakhs and the net benefits are Rs. 50,000 (1st year), Rs. 80,000 (2nd year), Rs. 90,000 (3rd year), Rs. 70,000 (4th year), Rs. 50,000 (5th year) and Rs. 30,000 (6th year). Assuming 10% interest rate, would you proceed with your project if your criterion is cost-benefit? Year 0 1 2 3 4 Cost 200,000 – – – – Benefit – 50,000 80,000 90,000 70,000 Current value – 45,454 66,116 67,618 47,811 Cumulative benefit – 45,454 111,570 179,188 226,999 As payback period is 4 years, it is decided to proceed with the project. 4.8 A manager states the following as goals of a production planning system: 1. Reduce stocks of semi-finished products. 2. Provide better information for the production planning 3. Prevent overproduction. How would you quantify the goals? How would you obtain sub-goals and quantify them if appropriate? (i) Goal: Reduce stocks of semi-finished products by 10%. Sub-goal: Classify semi-finished products as due to non-availability of part, non-availability of machine, non-availability of tool. (ii) Goal: Give a table giving requirement of each product. Sub-goal: Prepare list of tools needed and when they will be needed. Prepare maintenance schedules of machines. (ii) Goal: Ensure that production is not more than 5% of estimated demand of each item. 4.9 A university administrator calls a systems analyst to improve the administration of sponsored research projects. The main problems are delay in obtaining latest financial position to project co-ordinators, reconciliation of advances given to co-ordinators, prompt demands not sent to sponsors to collect promised grants and lack of information to answer following questions: Which areas of research get maximum grants? Which agency aids which type of projects? What trends can be seen in the nature of grants? Now: 1. Classify the above problems into missing functions, unsatisfactory performance and excessive cost of operation. 2. How would you set the goals to meet the deficiencies? 3. How would you quantify them? 1. (i) Missing Function: Analysis of types of grants and grant-giving agencies. (ii) Unsatisfactory Performance: Delay in obtaining financial statements; nonreconciliation of advances. (iii) Excessive cost: Loss due to delay in receipt of grants (loans may have to be taken to meet expenses). 2. (i) Goals to improve performance — Ensure financial statements are sent each month. — Ensure reminders on advances are sent each month. (ii) Goals to reduce cost — Bring to the attention of accounts officer grants overdue by 10 days. — Send reminder ad pre-receipt 10 days before grant is due. (iii) Goals to incorporate missing functions — Codify research areas and granting agencies. — Introduce uniform formats to classify grants. — Create a database of all possible granting agencies and their areas of research. 3.All goals are quantified in 2. Sub-goals — Send list of periodicals received to interested readers within 2 days of arrival of periodicals. — Send for binding loose periodicals within 4 weeks of arrival of last issue. (ii) A Fully manual using cardex system. B Using a PC and a periodicals management information system. C Using the central computing in the university and a remote terminal system in the library dedicated to periodicals management. 4.10 What operational, tactical and strategic information should be provided by the mess billing system mentioned in the text (case study)? The information that will be provided to management by the mess billing system is: Operational – Each student’s bill details. – Details of inventory held. – Details of issues to stores. – Details of trips to town. – Details of expenses each day. Tactical – Number of days taken to despatch bills after end of month. – Variation of daily rate from month to month. – Bills to students unpaid for 10 days after issue. – Bills from vendors unpaid for 5 days. – Inventory level of an item if 10% above average – Issues to cooks if 5% above normal. – Nutrition values of menus. Strategic – Daily rate seasonal trends. – Extras/rebates and trends to enable better inventory planning. Information on menu preferences. System Analysis and Design/Feasibility Analysis Question Bank QUESTION BANK 4 4.1 4.2 4.3 4.4 When are the goals of a project specified? How are goals determined? What should be the characteristics of goals? What is the difference between main goals and sub-goals? Illustrate with an example. 4.5 Once the goals are formulated, what is the next step followed by a system analyst? 4.6 4.7 4.8 4.9 Is it essential to use computers in all information systems? Distinguish between technical, operational and economic feasibility. What do you understand by the term feasibility study of a solution? Give an example of a solution which is technically feasible, but not operationally feasible. 4.10 Give an example of a technically feasible solution which is not economically feasible. 4.11 Give an example of an operationally feasible solution which is not economically feasible. 4.12 Is it essential that an operationally feasible solution should be technically feasible? Discuss with examples. 4.13 4.14 4.15 What is the difference between tangible and intangible benefits? Give examples of tangible and intangible benefits. For the problem of periodical information system (Exercise 4.23 below), specify tangible and intangible benefits. 4.16 What is meant by cost-benefit analysis? V. Rajaraman/IISc. Bangalore M4//V1/July 04/1 System Analysis and Design/Feasibility Analysis Question Bank 4.17 A system costs Rs.1 lakh to install and Rs.10,000 per month as recurring expenses. The benefit per year is Rs.1.5 lakhs. Assuming an interest rate of 12%, what is the pay back period of the investment? How does inflation affect pay back period? Is it essential to have tangible benefits to justify an information system? If you answer is no, justify your answer by giving an example. 4.18 A project costs Rs.2 lakhs and the net benefits are Rs.50,000 (1st year), Rs.80,000 2nd year),Rs.90,000 (3rd year), Rs.70,000 (4th year), Rs.50,000 (5th year), and Rs.30,000 (6th year). Assuming 10% interest rate, would you proceed with this project if your criterion is cost/benefit? 4.19 A manager states the following as the goals of a production planning system: 1 2 3 Reduce stock of semi-finished products. Provide better information for the production planning. Prevent overproduction. How would you quantify the goals? How would you obtain sub goals and quantify them if appropriate? 4.20 A university administrator calls a systems analyst to improve the administration of sponsored research projects. The main problems are delay in obtaining latest financial position to project coordinators, reconciliation of advances given to coordinators, prompt demands not sent to sponsors to collect promised grants and lack of information to answer following questions: Which areas of research get maximum grants? Which agency aids which type of projects? What trends can be seen in the nature of grants? V. Rajaraman/IISc. Bangalore M4//V1/July 04/2 System Analysis and Design/Feasibility Analysis Question Bank Now: 1. Classify the above problems into missing functions, unsatisfactory performance and excessive cost of operation. 2. How would you get goals to meet the deficiencies? 3. How would you quantify them? 4.21 A library receives 1300 journals of varying periodicities. The journals received have to be recorded and displayed. Action has to be taken when journals are not received in time or lost in mail. Unless request for replacement is sent quickly, it may not be possible to get the replacement. Periodicals have to be ordered at different times during the year and subscriptions renewed in time. Late payment of subscription may lead to non-availability of earlier issues or paying higher amounts for those issues. Current manual system is not able to meet these requirements. 1. Specify what should be the goals and sub-goals of an information system for ordering periodicals. 2. Quantify these goals. 3. Suggest alternative means of achieving the goals specified by you. 4.22 What operational, tactical, and strategic information should be provided by the mess billing system mentioned in the text? (Case study). 4.23 When is a detailed system proposal prepared? What are the contents of a system proposal? V. Rajaraman/IISc. Bangalore M4//V1/July 04/3 System Analysis and Design/Feasibility Analysis Case Study CASE STUDY – System Proposal On a request from the Chief Warden of the student hostel, a study was initiated to find out how the operation of the hostel could be improved by implementing better information system. After lengthy discussion with various personnel in the hostel, it was concluded that the problem which had to be tackled on a high priority basis was a better information system for billing, accounting, inventory control and stores issues in the students' mess. The deficiencies identified in the current system are as given below. 1. Missing functions. 1.1 Forecasting of stores requirements not done. 1.2 Purchases not consolidated. 1.3 Daily rate calculation not updated frequently. 1.4 Menu not planned for balanced nutrition and low cost. 2. Unsatisfactory performance. 2.1 Billing not accurate and prompt. 2.2 Student bills not itemized. 2.3 Stores issues to cooks not systematic. 2.4 Payments to vendors not prompt. 2.5 Large variations in mess bills every month. 3. Excessive cost of operations due to the following: 3.1 Unpaid long outstanding bills from students. 3.2 Extras and rebates not reflected in stores issues. 3.3 Frequent unplanned visits to city to buy out-of-stock items. 3.4 High transport cost (small purchases at high cost) due to not consolidating stores requirements. V. Rajaraman/IISc. Bangalore M4//V1/July 04/1 System Analysis and Design/Feasibility Analysis Case Study These deficiencies are to be removed in the proposed information system. Goals of the proposed system. The main quantified goals and the sub-goals of the proposed system are as given below: Main goal M1 Send the bills to students within 5 days of the end of the month. Sub-goals S1.1 S1.2 S1.3 Itemize bills indicating extras and rebates with dates. Ensure less than 5% variation of bills from month to month. Bring to the attention of the Chief Warden the bills which are not paid within 10 days of issue. S1.4 Update daily rate. Calculate bills every day. The main goals and sub-goals to remove deficiencies 1.1, 1.2, 2.3, 2.4 and 3.2-3.4 (mentioned above) are given below: Main goal M2 10%. Sub-goals S2.1 S2.2 Ensure payment to vendors within five days of supply of items. Make sure that at most four trips per month are made to the town for purchase and Control inventory of items and issues to cooks so as to bring down mess bill by consequently transport cost is less than 1% of item cost. S2.3 S2.4 See that inventory levels are not more than 10% of monthly requirements. Make sure that cooks do not get more than 5% of calculated requirements. Goals to add function 1.4. V. Rajaraman/IISc. Bangalore M4//V1/July 04/2 System Analysis and Design/Feasibility Analysis Case Study Main Goals M3.1 Balanced menu to meet nutritional requirements. M3.2 Cost of food not to exceed current cost. Sub-goal S3.1 Randomize menu. Alternative solutions examined. Three alternative solutions were examined. These are given below: Solution A: Improve the current manual system by improving procedures. Solution B: Use a single PC in the hostel office Solution C: Use three small client computers in the mess, stores and accounts office and connect to a server in the hostel office. Comparison of Solutions: Solution A is feasible but is not scalable. In other words if the number of students increase the system will be difficult to implement. It requires meticulous attention to details by clerks. It is thus rejected. Solution C is very expensive as it needs four computers. It does provide on-line updates but this is not necessary in this problem. Selected solution. Solution B is selected as it is technically and operationally feasible. The cost/benefit of Solution B to assess economic feasibility is given below: Consider Solution B of the hostel mess management problem. The direct costs are: 1. Cost of PC, printer, uninterrupted power supply and system software (Windows XP Office 2000, anti virus and Turbo C) = Rs.70,000. 2. Cost of space (nil). No extra space allocated. V. Rajaraman/IISc. Bangalore M4//V1/July 04/3 System Analysis and Design/Feasibility Analysis Case Study 3. Cost of systems analysts/Programmers/Consultants for 3 months = Rs.60,000/4. Recurring costs:: Stationery cost, floppy cost, Maintenance/Electricity = Rs.2000/- per month). 5. One time cost = Rs.1,30,000/- Benefits (Direct savings) 1. Savings per month due to inventory reduction and wastage = 5% of mess bill of 400 students = 2.25 * 400 * 30 = Rs.27,000/(Assume Rs.45 bill per day per student. Savings per day is 2.25 per student. 30 days in a month). 2. Savings in transport cost (estimate) Rs.800 per month. 3. Savings due to early payment to vendors = 1.2% of total billing to vendors =37.5 * 400 * 30 * 0.012 = Rs.5400/- per month (Rs.37.50 per day is assumed to be material cost in mess bill) 4. Savings due to better collection (40 defaulting students, 1% interest per month) = 40 * 1350 * 0.01 = Rs.540 per month Intangible benefits 1. Student satisfaction due to itemized bills and less variation. V. Rajaraman/IISc. Bangalore M4//V1/July 04/4 System Analysis and Design/Feasibility Analysis Case Study 2. Better menu planning Total benefits = Rs.33740 per month Recurring cost = Rs.2000 per month Net benefit per month = Rs.31,740 Total capital cost = Rs.1,30,000/New equipment to be installed. PC and printer with the following features: Hardware IBM compatible PC 256 MB main memory 1.2MB floppy drive 40 GB hard disk 15" colour monitor 132 character 80 cps dot printer Software Windows XP Operating System MS Office 2000 antivirus software Turbo C Infrastructure 500 VA, Uninterrupted Power Supply Need a dust-free room to locate PC Benefits expected. (These were as given earlier) Cost of the system. As calculated earlier, the cost of the new system will be Capital cost hardware system software = Rs. 70,000 System analysis/design cost = Rs.60,000 V. Rajaraman/IISc. Bangalore M4//V1/July 04/5 System Analysis and Design/Feasibility Analysis Case Study Recurring cost = Rs. 2000 per month New procedures to be implemented. Using simple pay back method and assuming 1% interest per month we obtain the Table 4.1 Table 4.1 Cost-benefit –Present value method Month 0 1 2 3 4 5 Cost 1,30,000 Net Benefit 31740 31740 31740 31740 31740 Present Value of benefit 31426 31115 30806 30502 30200 Cumulative Present Value 31426 62541 93347 123849 154049 We see that the cumulative benefit exceeds cost of the system by the fifth month. Thus we conclude that the proposed system is economically beneficial. The subsystems involved in this solution are now described. (i) Billing subsystem. An extras/rebates register will be maintained in the mess for students to enter the requests. One page per student is assigned. The register entries are codified for the use of computer processing. The register pages are printed on the computer each month and stapled together and kept in the mess for entries by students. Entries in the register are keyed into the PC each day by the mess clerk. A program will check whether sufficient notice has been given for rebates, whether number of days rebate asked is as per rules. The data entered is used by a program to create a summary statement giving expected number of meals to be prepared 48 hours from now. This is passed on to the mess manager to control issues. This program also updates each students' record with details of extras and dates of absence. V. Rajaraman/IISc. Bangalore M4//V1/July 04/6 System Analysis and Design/Feasibility Analysis Case Study (ii) Subsystems in billing system. Subsystem for finding meals to be cooked. INPUT: Extras/rebate requests of each student each day. PROCEDURE • Check each input record to see if rebate is admissible and extras are correct. • • Enter admissible rebates and extras in student billing file. Find number of meals to be cooked two days from now. Print note to mess manger. OUTPUT: Note to mess manager giving number of members and meals to be cooked 48 hours from now. (This subsystem runs daily on the PC) (iii) Subsystem for mess bill calculation. INPUT: Items issued each day (perishable and non-perishable) PROCEDURE: • • • • From items issued each day find total expenses each day. Accumulate daily expense and add fixed overhead (salaries etc.) Using number of members calculate up-to-date daily rate. Using student billing information file an expense file, calculate the itemized bill for each student at the end of the month. • Enter in student billing file. OUTPUT: Itemized bills to students. (Updating daily rate is run each day whereas student billing system is run once a month). V. Rajaraman/IISc. Bangalore M4//V1/July 04/7 System Analysis and Design/Feasibility Analysis Case Study (iv) Subsystem for unpaid bills INPUT: Payments information. PROCEDURE • Enter all payments in student billing file. • Five days after last date for payment, examine this file and create a list of students with unpaid bills. OUTPUT: List of overdue bills sent to Chief Warden (This system runs once a month) The billing system described above satisfies main goal M1 and sub-goals S1.1 and S1.3. To satisfy sub-goal S1.2, the mess secretary who gets an updated daily rate each day must adjust menu, using a menu planning system. (i) System for stores issue and control Subsystem for stores issues to cooks INPUT • Menu for (today's date + 2 i.e., if today's date is 20.04.03 menu is given for 22.04.03). • Number of meal to be cooked for (today's date + 2). PROCEDURE: Using inputs find items to be issued on (today's date + 2). OUTPUT: Items to be issued on (today's date + 2) sent to mess manager. Subsystem for inventory control INPUT: Daily use of stores items, perishables and vendor supplies. PROCEDURE V. Rajaraman/IISc. Bangalore M4//V1/July 04/8 System Analysis and Design/Feasibility Analysis Case Study • Based on past month's total consumption of each item, estimate consumption of current month. Add 2 days consumption as buffer. • • • Work out minimum amount (=4 days needs) of all critical items. Decide on order quantities, and place orders. When goods come in, check in order file and update inventory if items accepted. • • • Send the cheques to vendors on item acceptance. Update stores inventory after each issue. When critical items go below minimum level inform mess manager OUTPUTS • • • Orders to vendors Cheques to vendors Low item stock message to mess manager (This system is run once a day) This system satisfies main goal M2 and sub-goals S2.1-S2.4. ii. System for menu planning INPUT • No. of items in menu • Alternative for each item • Cost of each item • Maximum cost. PROCEDURE • Reduce total cost by trying alternative items in menu. V. Rajaraman/IISc. Bangalore M4//V1/July 04/9 System Analysis and Design/Feasibility Analysis Case Study • Try an optimization package such as Linear Programming. • Rank menus by cost and keep 14 different menus for each meal. • Randomize menus each week. OUTPUT: Balanced menu at reduced cost. (This system is run once a month) This system satisfied main goals M3.1, M3.2 and sub-goal S3.1. Anticipated problems. Procedures should be set up to regularly back up all files and store billing information on floppy disks. Power failure may lead to difficulties, if it is very frequent. Hostel management may consider installing higher capacity batteries for 1 hour back up for the uninterrupted power supply system. Implementation plan. Implementation may begin with the billing system first. It may be followed by stores issues and inventory control and finally menu planning (see Table below). Table 4.2 Implementation Plan Design Implement Start Time 0 0+3 week 0+6 week 0+12 week Time Schedule in weeks Billing system Stores issue system Inventory system Menu planning Test 3 4 4 5 3 3 3 3 1 2 2 2 Parallel Run Manual System 4 3 3 2 V. Rajaraman/IISc. Bangalore M4//V1/July 04/10 System Analysis and Design/Feasibility Analysis Case Study Conclusions The proposed system will cost Rs.1,30,000 capital cost and will pay for itself within the first five months of operation. It will meet all the main goals approved by the wardens and can be implemented within 3 months. We are confident that it will fully meet the expectations of the management. V. Rajaraman/IISc. Bangalore M4//V1/July 04/11 System Analysis and Design/Feasibility Analysis Pointers References 1. This module is based on Chapter 6, “Feasibility Analysis”, of the book Analysis and Design of Information Systems by V.Rajaraman, Prentice Hall of India. Parts of the the book have been used in case studies. 2. J.E.Kandall and J.E.Kandall, Systems Analysis and Design, 5th Edition, Pearson Education (Asia) 2003. Part of Chapter 3 pp.55-63 deal with feasibility analysis. It is reasonably well treated but does not have any quantitative examples. 3. R.Schultheis and Mary Summer, Management Information Systems, Tata McGraw Hill, 1999. Very short treatment of feasibility analysis as part of system Life Cycle (pp.544-545). 4. S.Alter, Information Systems, 4th Edition, Pearson Education Asia, New Delhi, 2002. A brief discussion of feasibility analysis presented on pp.481 as part of traditional life cycle method. In the same chapter there is a brief discussion of prototype method which is used when users are not able to state their requirements clearly. 5. K.C.Laudon and J.P.Laudon, Management Information Systems, Pearson Education Asia, New Delhi, 2004. Very brief discussion (one para only) on p.390) 6. J.A.Hoffer, J.F.George and J.S.Valacich, Modern Systems Analysis and Design, Pearson Education Asia, New Delhi 2002. Has a good discussion of feasibility. Study on pp.168 to 181. Besides Technical, operational and Economic feasibility they also include other parameters which are schedule, legal/contractual and political feasibility which arise when one tries to develop a system. V. Rajaraman/IISc. Bangalore M4//V1/July 04/1 SUMMARY OF MODULE 4 1. The goals of a project are formulated after gathering facts and having discussions with users. 2. Goals are set by identifying deficiencies such as missing functions, unsatisfactory performance or excessive cost of operation. 3. Goals must be quantified, realizable, agreed to by users and then broken down into sub-goals. 4. After setting goals we look at alternative methods of meeting these goals. 5. Each alternative method is broadly formulated by specifying the inputs, outputs and procedures to be used. Both manual and computer-based procedures are described. 6. How each method will meet the goal is examined. 7. Next the feasibility of implementing each method is examined. 8. A method must be technically, operationally and economically feasible. 9. Technical feasibility examines whether technology is available to project. 10. Operational feasibility examines whether the proposed method can fit in with existing operations or is easy to operate with a modified system. 11. Economic feasibility examines whether the returns (in terms of benefits from the project) are commensurate with the cost of the project. 12. It is necessary to examine both tangible and intangible benefits of each alternative solution before picking a solution. carry out the 13. At the end of feasibility analysis, a document consisting of an executive summary on the feasibility of the project is submitted to the management which requisitioned the study. 14. The executive summary will highlight what the proposed system will achieve, who will be involved in operating the proposed system, the organizational changes needed for successfully implementing the system, the estimated cost of the system and the benefits which will accrue by using the system. 15. The detailed proposal will have the following items: (i) (ii) (iii) (iv) (v) (vi) (vii) An introduction with outline of proposal A DFD of existing system A modified DFD of proposed system Alternative solutions Any new equipment to be installed Cost/Benefit analysis New procedures to be adopted with responsibility assigned to persons (viii) Any anticipated problems (ix) Implementation plan with time schedules QUESTION BANK 4 4.1 4.2 4.3 4.4 When are the goals of a project specified? How are goals determined? What should be the characteristics of goals? What is the difference between main goals and sub-goals? example. Illustrate with an 4.5 Once the goals are formulated, what is the next step followed by a system analyst? 4.6 4.7 4.8 4.9 Is it essential to use computers in all information systems? Distinguish between technical, operational and economic feasibility. What do you understand by the term feasibility study of a solution? Give an example of a solution which is technically feasible, but not operationally feasible. 4.10 Give an example of a technically feasible solution which is not economically feasible. 4.11 Give an example of an operationally feasible solution which is not economically feasible. 4.12 Is it essential that an operationally feasible solution should be technically feasible? Discuss with examples. 4.13 4.14 What is the difference between tangible and intangible benefits? Give examples of tangible and intangible benefits. 4.15 For the problem of periodical information system (Exercise 4.23 below), specify tangible and intangible benefits. 4.16 4.17 What is meant by cost-benefit analysis? A system costs Rs.1 lakh to install and Rs.10,000 per month as recurring expenses. The benefit per year is Rs.1.5 lakhs. Assuming an interest rate of 12%, what is the pay back period of the investment? 4.18 4.19 How does inflation affect pay back period? Is it essential to have tangible benefits to justify an information system? If you answer is no, justify your answer by giving an example. 4.20 A project costs Rs.2 lakhs and the net benefits are Rs.50,000 (1st year), Rs.80,000 (2nd year),Rs.90,000 (3rd year), Rs.70,000 (4th year), Rs.50,000 (5th year), and Rs.30,000 (6th year). Assuming 10% interest rate, would you proceed with this project if your criterion is cost/benefit? 4.21 A manager states the following as the goals of a production planning system: 1. Reduce stock of semi-finished products. 2. Provide better information for the production planning. 3. Prevent overproduction. How would you quantify the goals? quantify them if appropriate? 4.22 A university administrator calls a systems analyst to improve the administration of sponsored research projects. The main problems are delay in obtaining latest financial position to project coordinators, reconciliation of advances given to How would you obtain sub goals and coordinators, prompt demands not sent to sponsors to collect promised and lack of information to answer following questions: Which areas of research get maximum grants? Which agency aids which type of projects? What trends can be seen in the nature of grants? Now: grants 1. Classify the above problems into missing functions, unsatisfactory performance and excessive cost of operation. 2. How would you get goals to meet the deficiencies? 3. How would you quantify them? 4.23 A library receives 1300 journals of varying periodicities. The journals received have to be recorded and displayed. Action has to be taken when journals are not received in time or lost in mail. Unless request for replacement is sent quickly, it may not be possible to get the replacement. Periodicals have to be ordered at different times during the year and subscriptions renewed in time. Late payment of subscription may lead to non-availability of earlier issues or paying higher amounts for those issues. Current manual system is not able to meet these requirements. 1. Specify what should be the goals and sub-goals of an information system for ordering periodicals. 2. Quantify these goals. 3. Suggest alternative means of achieving the goals specified by you. 4.24 What operational, tactical, and strategic information should be provided by the mess billing system mentioned in the text? (case study). 4.25 When is a detailed system proposal prepared. What are the contents of a system proposal? MODULE 4 CASE STUDY – System Proposal On a request from the Chief Warden of the student hostel, a study was initiated to find out how the operation of the hostel could be improved by implementing better information system. After lengthy discussion with various personnel in the hostel, it was concluded that the problem which had to be tackled on a high priority basis was a better information system for billing, accounting, inventory control and stores issues in the students' mess. The deficiencies identified in the current system are as given below. 1. Missing functions. 1.1 Forecasting of stores requirements not done. 1.2 Purchases not consolidated. 1.3 Daily rate calculation not updated frequently. 1.4 Menu not planned for balanced nutrition and low cost. 2. Unsatisfactory performance. 2.1 Billing not accurate and prompt. 2.2 Student bills not itemized. 2.3 Stores issues to cooks not systematic. 2.4 Payments to vendors not prompt. 2.5 Large variations in mess bills every month. 3. Excessive cost of operations due to the following: 3.1 Unpaid long outstanding bills from students. 3.2 Extras and rebates not reflected in stores issues. 3.3 Frequent unplanned visits to city to buy out-of-stock items. 3.4 High transport cost (small purchases at high cost) due to not consolidating stores requirements. These deficiencies are to be removed in the proposed information system. Goals of the proposed system. The main quantified goals and the sub-goals of the proposed system are as given below: Main goal M1 Send the bills to students within 5 days of the end of the month. Sub-goals S1.1 S1.2 Itemize bills indicating extras and rebates with dates. Ensure less than 5% variation of bills from month to month. S1.3 Bring to the attention of the Chief Warden the bills which are not paid within 10 days of issue. S1.4 Update daily rate. Calculate bills every day. The main goals and sub-goals to remove deficiencies 1.1, 1.2, 2.3, 2.4 and 3.2-3.4 (mentioned above) are given below: Main goal M2 Control inventory of items and issues to cooks so as to bring down mess bill by 10%. Sub-goals S2.1 Ensure payment to vendors within five days of supply of items. S2.2 Make sure that at most four trips per month are made to the town for purchase and consequently transport cost is less than 1% of item cost. S2.3 See that inventory levels are not more than 10% of monthly requirements. S2.4 Make sure that cooks do not get more than 5% of calculated requirements. Goals to add function 1.4. Main Goals M3.1 Balanced menu to meet nutritional requirements. M3.2 Cost of food not to exceed current cost. Sub-goal S3.1 Randomize menu. Alternative solutions examined. Three alternative solutions were examined. These are given below: Solution A: Improve the current manual system by improving procedures. Solution B: Use a single PC in the hostel office Solution C: Use three small client computers in the mess, stores and accounts office and connect to a server in the hostel office. Comparison of Solutions: Solution A is feasible but is not scalable. In other words if the number of students increase the system will be difficult to implement. It requires meticulous attention to details by clerks. It is thus rejected. Solution C is very expensive as it needs four computers. It does provide on-line updates but this is not necessary in this problem. Selected solution. Solution B is selected as it is technically and operationally feasible. The cost/benefit of Solution B to assess economic feasibility is given below: Consider Solution B of the hostel mess management problem. The direct costs are: 1. Cost of PC, printer, uninterrupted power supply and system software (Windows XP Office 2000, anti virus and Turbo C) = Rs.70,000. 2. Cost of space (nil). No extra space allocated. 3. Cost of systems analysts/Programmers/Consultants for 3 months = Rs.60,000/4. Recurring costs:: Stationery cost, floppy cost, Maintenance/Electricity = Rs.2000/- per month). 5. One time cost = Rs.1,30,000/- Benefits (Direct savings) 1. Savings per month due to inventory reduction and wastage = 5% of mess bill of 400 students = 2.25 * 400 * 30 = Rs.27,000/(Assume Rs.45 bill per day per student. Savings per day is 2.25 per student. 30 days in a month). 2. Savings in transport cost (estimate) Rs.800 per month. 3. Savings due to early payment to vendors = 1.2% of total billing to vendors =37.5 * 400 * 30 * 0.012 = Rs.5400/- per month (Rs.37.50 per day is assumed to be material cost in mess bill) 4. Savings due to better collection (40 defaulting students, 1% interest per month) = 40 * 1350 * 0.01 = Rs.540 per month Intangible benefits 1. Student satisfaction due to itemized bills and less variation. 2. Better menu planning Total benefits = Rs.33740 per month Recurring cost = Rs.2000 per month Net benefit per month = Rs.31,740 Total capital cost = Rs.1,30,000/New equipment to be installed. PC and printer with the following features: Hardware IBM compatible PC 256 MB main memory 1.2MB floppy drive 40 GB hard disk 15" colour monitor 132 character 80 cps dot printer Software Windows XP Operating System MS Office 2000 antivirus software Turbo C Infrastructure 500 VA, Uninterrupted Power Supply Need a dust-free room to locate PC Benefits expected. (These were as given earlier) Cost of the system. As calculated earlier, the cost of the new system will be Capital cost hardware system software = Rs. 70,000 System analysis/design cost = Rs.60,000 Recurring cost = Rs. 2000 per month New procedures to be implemented. Using simple pay back method and assuming 1% interest per month we obtain the Table 4.1 Table 4.1 Cost-benefit –Present value method Month 0 1 2 3 4 5 Cost 1,30,000 Net Benefit 31740 31740 31740 31740 31740 Present Value of benefit 31426 31115 30806 30502 30200 Cumulative Present Value 31426 62541 93347 123849 154049 We see that the cumulative benefit exceeds cost of the system by the fifth month. Thus we conclude that the proposed system is economically beneficial. The subsystems involved in this solution are now described. (i) Billing subsystem. An extras/rebates register will be maintained in the mess for students to enter the requests. One page per student is assigned. The register entries are codified for the use of computer processing. The register pages are printed on the computer each month and stapled together and kept in the mess for entries by students. Entries in the register are keyed into the PC each day by the mess clerk. A program will check whether sufficient notice has been given for rebates, whether number of days rebate asked is as per rules. The data entered is used by a program to create a summary statement giving expected number of meals to be prepared 48 hours from now. This is passed on to the mess manager to control issues. This program also updates each students' record with details of extras and dates of absence. (ii) Subsystems in billing system. Subsystem for finding meals to be cooked. INPUT: Extras/rebate requests of each student each day. PROCEDURE • Check each input record to see if rebate is admissible and extras are correct. • • Enter admissible rebates and extras in student billing file. Find number of meals to be cooked two days from now. Print note to mess manger. OUTPUT: Note to mess manager giving number of members and meals to be cooked 48 hours from now. (This subsystem runs daily on the PC) (iii) Subsystem for mess bill calculation. INPUT: Items issued each day (perishable and non-perishable) PROCEDURE: • From items issued each day find total expenses each day. • Accumulate daily expense and add fixed overhead (salaries etc.) • Using number of members calculate up-to-date daily rate. • Using student billing information file an expense file, calculate the itemized bill for each student at the end of the month. • Enter in student billing file. OUTPUT: Itemized bills to students. (Updating daily rate is run each day whereas student billing system is run once a month). (iv) Subsystem for unpaid bills INPUT: Payments information. PROCEDURE • Enter all payments in student billing file. • Five days after last date for payment, examine this file and create a list of students with unpaid bills. OUTPUT: List of overdue bills sent to Chief Warden (This system runs once a month) The billing system described above satisfies main goal M1 and sub-goals S1.1 and S1.3. To satisfy sub-goal S1.2, the mess secretary who gets an updated daily rate each day must adjust menu, using a menu planning system. (i) System for stores issue and control Subsystem for stores issues to cooks INPUT • Menu for (today's date + 2 i.e., if today's date is 20.04.03 menu is given for 22.04.03). • Number of meal to be cooked for (today's date + 2). PROCEDURE: Using inputs find items to be issued on (today's date + 2). OUTPUT: Items to be issued on (today's date + 2) sent to mess manager. Subsystem for inventory control INPUT: Daily use of stores items, perishables and vendor supplies. PROCEDURE • Based on past month's total consumption of each item, estimate consumption of current month. Add 2 days consumption as buffer. • • • Work out minimum amount (=4 days needs) of all critical items. Decide on order quantities, and place orders. When goods come in, check in order file and update inventory if items accepted. • • • Send the cheques to vendors on item acceptance. Update stores inventory after each issue. When critical items go below minimum level inform mess manager OUTPUTS • • • Orders to vendors Cheques to vendors Low item stock message to mess manager (This system is run once a day) This system satisfies main goal M2 and sub-goals S2.1-S2.4. ii. System for menu planning INPUT • No. of items in menu • Alternative for each item • Cost of each item • Maximum cost. PROCEDURE • Reduce total cost by trying alternative items in menu. • Try an optimization package such as Linear Programming. • Rank menus by cost and keep 14 different menus for each meal. • Randomize menus each week. OUTPUT: Balanced menu at reduced cost. (This system is run once a month) This system satisfied main goals M3.1, M3.2 and sub-goal S3.1. Anticipated problems. Procedures should be set up to regularly back up all files and store billing information on floppy disks. Power failure may lead to difficulties, if it is very frequent. Hostel management may consider installing higher capacity batteries for 1 hour back up for the uninterrupted power supply system. Implementation plan. Implementation may begin with the billing system first. It may be followed by stores issues and inventory control and finally menu planning (see Table below). Table 4.2 Implementation Plan Start Time Time Schedule in weeks Billing system Stores issue system Inventory system Menu planning Design Implement Test Parallel Run Manual System 4 3 3 2 0 0+3 week 0+6 week 0+12 week 3 4 4 5 3 3 3 3 1 2 2 2 Conclusions The proposed system will cost Rs.1,30,000 capital cost and will pay for itself within the first five months of operation. It will meet all the main goals approved by the wardens and can be implemented within 3 months. We are confident that it will fully meet the expectations of the management. Annoted References 1. This module is based on Chapter 6, “Feasibility Analysis”, of the book Analysis and Design of Information Systems by V.Rajaraman, Prentice Hall of India. Parts of the the book have been used in case studies. 2. J.E.Kandall and J.E.Kandall, Systems Analysis and Design, 5th Edition, Pearson Education (Asia) 2003. Part of Chapter 3 pp.55-63 deal with feasibility analysis. It is reasonably well treated but does not have any quantitative examples. 3. R.Schultheis and Mary Summer, Management Information Systems, Tata McGraw Hill, 1999. Very short treatment of feasibility analysis as part of system Life Cycle (pp.544-545). 4. S.Alter, Information Systems, 4th Edition, Pearson Education Asia, New Delhi, 2002. A brief discussion of feasibility analysis presented on pp.481 as part of traditional life cycle method. In the same chapter there is a brief discussion of prototype method which is used when users are not able to state their requirements clearly. 5. K.C.Laudon and J.P.Laudon, Management Information Systems, Pearson Education Asia, New Delhi, 2004. Very brief discussion (one para only) on p.390) 6. J.A.Hoffer, J.F.George and J.S.Valacich, Modern Systems Analysis and Design, Pearson Education Asia, New Delhi 2002. Has a good discussion of feasibility. Study on pp.168 to 181. Besides Technical, operational and Economic feasibility they also include other parameters which are schedule, legal/contractual and political feasibility which arise when one tries to develop a system. MODULE 5 DATA FLOW DIAGRAMS OBJECTIVE QUESTIONS There are 4 alternative answers to each question. One of them is correct. Pick the correct answer. Do not guess. A key is given at the end of the module for you to verify your answer LEARNING UNIT 1 5.1.1 In a DFD external entities are represented by a (a) rectangle (b) ellipse (c) diamond shaped box (d) circle 5.1.2 A data flow can (a) only emanate from an external entity (b) only terminate in an external entity (c) may emanate and terminate in an external entity (d) may either emanate or terminate in an external entity but not both 5.1.3 A rectangle in a DFD represents (a) a process (b) a data store (c) an external entity (d) an input unit 5.1.4 External Entities may be a (a) source of input data only (b) source of input data or destination of results (c) destination of results only (d) repository of data 5.1.5 By an external entity we mean a (a) unit outside the system being designed which can be controlled by an analyst (b) unit outside the system whose behavior is independent of the system being designed (c) a unit external to the system being designed (d) a unit which is not part of a DFD 5.1.6 A data store in a DFD represents (a) a sequential file (b) a disk store (c) a repository of data (d) a random access memory 5.1.7 A data flow can (a) only enter a data store (b) only leave a data store (c) enter or leave a data store (d) either enter or leave a data store but not both 5.1.8 A data cannot flow between a store and (i) a store (ii) a process (iii) an external entity (a) i and iii (b) i and ii (c) ii and iii (d) ii 5.1.9 Data cannot flow between two data stores because (a) it is not allowed in a DFD (b) a data store is a passive repository of data (c) data can get corrupted (d) they will get merged 5.1.10 Data cannot flow from an external entity to an external entity because (a) it will get corrupted (b) it is not allowed in DFD (c) an external entity has no mechanism to read or write (d) both are outside the context of the system 5.1.11 The following portion of a DFD is not correct as (a) there is no output data flow from the process (b) there are three data flow inputs to the process (c) there is no external entity (d) there is no data store Quantity Cost/unit 4.0 Billing Process Discount 5.1.12 The following portion of a DFD is not correct as (a) there are many data flows out of the process (b) there are no input data flows to the process (c) the output does not go to an external entity (d) there is no data store Out of stock Order to vendor 4.0 Billing Proces Too much stock 5.1.13 The following portion of DFD is wrong as (a) it has only one input (b) it writes and reads from the same data store (c) the process name is missing (d) output data flows to two external entities bill Invoice Customer Supplier Advice Book Inventory 5.1.14 The following process diagram in a DFD is incorrect because (a) the process is a single decision (b) the process is not specified correctly (c) there are too many input data flows (d) the process does not refer to a data store Gross pay 2.0 Compare Minimum taxable pay 5.1.15 The following portion of a DFD is incorrect because (a) the processes do not refer to a data store (b) there is a loop between the two processes (c) the processes are not specified correctly (d) this structure is disallowed in a DFD Gross pay<=Min.taxable pay Gross pay>Min.taxable pay Gross pay 1.0 Find next pay Employee record 2.0 Calculate tax Get next record Deductions 5.1.16 (i) (ii) (iii) (iv) Data flow in a DFD must have an arrow showing direction of flow of data a meaningful name a label such as: xyz no arrows as they are confusing (a) i and iii (b) ii and iv (c) iii and iv (d) i and ii Tax deduction statement LEARNING UNIT 2 5.2.1 A context diagram (a) describes the context of a system (b) is a DFD which gives an overview of the system (c) is a detailed description of a system (d) is not used in drawing a detailed DFD 5.2.2 A context diagram is used (a) as the first step in developing a detailed DFD of a system (b) in systems analysis of very complex systems (c) as an aid to system design (d) as an aid to programmers 5.2.3 By levelling a DFD we mean (a) splitting it into different levels (b) make its structure uniform (c) expanding a process into one with more sub-processes giving more detail (d) summarizing a DFD to specify only the essentials 5.2.4 A DFD is normally levelled as (a) it is a good idea in design (b) it is recommended by many experts (c) it is easy to do it (e) it is easier to read and understand a number of smaller DFDs than one large DFD 5.2.5 A DFD is levelled by (a) examining complex processes in a DFD and expanding them into new DFDs with more processes which are easy to understand (b) merging a number of simple processes in a DFD into a complex processes in a new DFD (c) expanding the functions of a number of external entities into simpler functions (d) splitting a number of data flows into simpler data flows 5.2.6 When a DFD is levelled no new (a) data stores may appear (b) external entities may appear (c) processes may appear (d) data flows may appear 5.2.7 When a DFD is levelled (a) new external entities may be required (b) no new processes are allowed (c) no new data flows are allowed (d) new data stores may be necessary and are allowed 5.2.8 When a DFD is levelled it is a good idea not to (a) be concerned about the number of new processes at the next level (b) allow more than 5 to 10 new processes at the next level for each expanded process (c) allow new data stores at the next level (d) allow any new processes at the next level 5.2.9 When a process is expanded during levelling (a) data flows entering it are replaced (b) all data stores used by it are replaced (c) all data flows entering it must also enter the levelled DFD (d) all external entities used by it are replaced LEARNING UNIT 3 5.3.1 Before developing a logical DFD it is a good idea to a) develop a physical DFD b) develop a system flow chart c) determine the contents of all data stores d) find out user’s preferences 5.3.2 A physical DFD specifies (a) what processes will be used (b) who generates data and who processes it (c) what each person in an organization does (d) which data will be generated 5.3.3 A physical DFD (a) has no means of showing material flow (b) does not concern itself with material flow (c) can show only stored material (d) can show the flow of material KEY TO OBJECTIVE QUESTIONS 5.1.1 5.1.7 5.1.13 5.2.3 5.2.9 a c c c c 5.1.2 5.1.8 5.1.14 5.2.4 5.3.1 c a a d a 5.1.3 5.1.9 5.1.15 5.2.5 5.3.2 c d b a b 5.1.4 5.1.10 5.1.16 5.2.6 5.3.3 b d d b d 5.1.5 5.1.11 5.2.1 5.2.7 c a b d 5.1.6 5.1.12 5.2.2 5.2.8 c b a b MODULE 5 DATA FLOW DIAGRAMS Learning Units 5.1 Developing Data Flow Diagrams(DFD) a) What are DFDs? b) Symbols used in DFD c) Rules of data flow d) Good style in drawing DFD 5.2 Describing systems with DFD & Levelling DFDs 5.3 Logical & Physical DFDs System Analysis And Design © V. Rajaraman LEARNING GOALS In this module we will learn 1. What are Data Flow Diagrams (DFDs)? 2. Why they are useful? 3. How are they developed? 4. How to level DFDs? 5. Good style conventions in developing DFDs 6. Difference between Logical and Physical DFDs 7. Tools available to draw DFDs Systems Analysis And Design © V. Rajaraman 1 of 26 MOTIVATION WHY DFD ? Provides an overview of -What data a system processes -What transformations are performed -What data are stored -What results are produced and where they flow Systems Analysis And Design © V. Rajaraman 2 of 26 MOTIVATION WHY DFD ? Graphical nature makes it a good communication tool between -User and analyst -Analyst and System designer Structure of DFD allows starting from a broad overview and expand it to a hierarchy of detailed diagrams Systems Analysis And Design © V. Rajaraman 3 of 26 DATA FLOW DIAGRAMS WHAT ARE DATA FLOW DIAGRAMS? DFDs models the system by depicting External entities from which the data flows and where results terminate Processes which transform data flows Data stores from which the data are read or into which data are written by the processes. 5.1.1 Systems Analysis And Design © V. Rajaraman 4 of 26 SYMBOLS USED IN DFD PROCESS Stores demand note 1. STORES Issue Advice Delivery slip A circle represents a process Straight lines with incoming arrows are input data flows Straight lines with outgoing arrows are output data flows Processes are given serial numbers for easy reference Labels are assigned to Data flow.These aid documentation © V. Rajaraman 5.1.2 Systems Analysis And Design 5 of 26 SYMBOLS USED IN DFD EXTERNAL ENTITIES VENDOR Invoice Order Customer Bill A Rectangle represents an external entity They either supply data or receive data They do not process data 5.1.3 Systems Analysis And Design © V. Rajaraman 6 of 26 SYMBOLS USED IN DFD DATA STORES Inventory Writing Reading A Data Store is a repository of data Data can be written into the data store This is depicted by an incoming arrow Data can be read from a data store This is depicted by an outgoing arrow External entity cannot read or write to the data store Two data stores cannot be connected by a data flow 5.1.4 Systems Analysis And Design © V. Rajaraman 7 of 26 RULES OF DATA FLOW • Data can flow from -external entity to process -process to external entity -process to store and back -process to process • Data cannot flow from -external entity to external entity -external entity to store -store to external entity -store to store 5.1.5 Systems Analysis And Design © V. Rajaraman 8 of 26 DATA FLOW DIAGRAMS An alternate notation is often used A Process 3 Store Issue Label Name A Data store DS1 Inventory Name Label 5.1.6 Systems Analysis And Design © V. Rajaraman 9 of 26 GOOD STYLE IN DRAWING DFD Use meaningful names for data flows, processes and data stores. Use top down development starting from context diagram and successively levelling DFD Only previously stored data can be read A process can only transfer input to output.It cannot create new data Data stores cannot create new data 5.1.7 Systems Analysis And Design © V. Rajaraman 10 of 26 DESCRIBING A SYSTEM WITH A DFD An entire system is represented by one DFD which gives the system’s overview It is called a context diagram It gives little detail & is also known as the top level DFD Context diagram of mess management is shown in the next transparency 5.2.1 Systems Analysis And Design © V. Rajaraman 11 of 26 CONTEXT DIAGRAM OF MESS MANAGEMENT SYSTEM Students Extras Note Requisitions Payments Bills Supplies Vendors Payments Mess Management Daily rate System Menu Mess secretary Perishable Items Item needed Each day Overdue Payments Overdue Bills Mess manager Chief warden • Observe this diagram gives very little detail 5.2.2 Systems Analysis And Design © V. Rajaraman 12 of 26 LEVELLING DFD A context diagram gives an overview It should be split into major processes which give greater detail. Each major process is further split to give more detail. Each major process is further split to give more detail 5.2.3 Systems Analysis And Design © V. Rajaraman 13 of 26 WHY LEVEL DFD? If a DFD is too detailed it will have too many data flows and will be large and difficult to understand Start from a broad overview. Expand to details - Idea similar to using procedures and linking these with a main program Each DFD must deal with one aspect of a big system 5.2.4 Systems Analysis And Design © V. Rajaraman 14 of 26 EXPANDED DFD FOR HOSTEL MESS MANAGEMENT Students Payments Itemized bills at end of month Extras/Rebates Expenses No of meals (today +3) Student billing Information + bills Mess Secretary Update daily rate Chief Warden Unpaid bills 1 Billing system Items used each day Mess manager • Going to next process (Continued in next slide) 5.2.5 Systems Analysis And Design © V. Rajaraman 15 of 26 EXPANDED DFD FOR HOSTEL MESS MANAGEMENT •Continued Vendor supplies 2 Stores issue and Control system Low stock (today+2) Items to be issued (today +2) Items used today Vendors Order nonperishable Vendor data Mess Manager Menu (today +2) Stores inventory Perishable order Order data Mess Secretary Orders (perishable) 3 Vegetables and perishable Perishable requisition ordering Vendor data (perishable) 5.2.6 Systems Analysis And Design © V. Rajaraman 16 of 26 EXPANDED DFD-BILLING SYSTEM Payments Itemized bills Mess Secretary Extras/Rebates 1.2 Calculate Student’s bills Bills 1.3 Reconcile payments Unpaid bills Chief warden Students data Students data No of meals (today + 2) 1.4 Find no Of meals to cook Daily rate average (upto date) 1.1 Calculate Daily rate Students data Mess Manager Expenses data Items rate data 5.2.7 • Observe numbering of processes Systems Analysis And Design © V. Rajaraman 17 of 26 LEVELLING RULES If process p is expanded, the process at the next level are labeled as p.1,p.2 etc. All data flow entering or leaving p must also enter or leave its expanded version. Expanded DFD may have data stores No external entity can appear in expanded DFD Keep the number of processes at each level less than 7. 5.2.8 Systems Analysis And Design © V. Rajaraman 18 of 26 ILLEGAL CONSTRUCTS IN DFD No loops are allowed in DFD A process cannot be a pure decision Actual daily rate Actual rate > Standard rate Compare Standard daily rate Actual rate <= Standard rate A single data flow should not be split into many flows with different labels No data flow allowed between data stores 5.2.9 Systems Analysis And Design © V. Rajaraman 19 of 26 ILLEGAL CONSTRUCTS IN DFD Get students extra/rebates record Ask for next record Record Calculate Bill Extra/rebate store • Not correct as loop is formed 5.2.10 Systems Analysis And Design © V. Rajaraman 20 of 26 LEVELLING EXAMPLES Low stock item (today +2) Mess manager Items to be used on (today +2) No of meals to be cooked (today +2) Items issued Low message stock Order for items 2 Stores issue and control system Menu for (Today +2) Mess secretary Vendor supplies Order Stores inventory Vendor Vendor Stores issue control system process 5.2.11 Systems Analysis And Design © V. Rajaraman 21 of 26 LEVELLING EXAMPLES Mess manager Items used today 2.1 Inventory update And low stock warning Low stock item 2.2 Create order for vendor Items needed From 2.3 Vendor Vendor supplies Stores inventory Order Vendor data Order to vendor 2.3 Calculate Items needed 2.4 Check Item availability Mess secretary Menu (today +2) Items needed No of meals to (today +2) Stores inventory Low stock items (today+2) 5.2.11 Systems Analysis And Design © V. Rajaraman 22 of 26 LEVELLING EXAMPLES Ext A Top Level process Ext B Ext A 1 2 F1 3 4 F4 Ext B Process 1 Ext A 1.1 1.2 1.4 2.1 Process 2 2.2 F1 2.3 1.3 3.1 3.2 3.4 Ext B 4.3 4.1 F4 4.2 3.3 5.2.12 Systems Analysis And Design © V. Rajaraman 23 of 26 LOGICAL AND PHYSICAL DFD DFD’S considered so far are called logical DFDs A physical DFD is similar to a document flow diagram. It specifies who does the operations specified by the logical DFD Physical DFD may depict physical movements of the goods Physical DFDs can be drawn during fact gathering phase of a life cycle 5.3.1 Systems Analysis And Design © V. Rajaraman 24 of 26 PHYSICAL DFD FOR ENCASHING CHEQUE Cash Token Clerk Customer Cheque Token Verify A/C Signature Update Balance Cashier Cheque with Take Signature Token number Store cheques Entry in Day Book Verify Token Bad Cheque Customer Accounts 5.3.2 Systems Analysis And Design © V. Rajaraman 25 of 26 LOGICAL DFD FOR CHEQUE ENCASHMENT Check Cheque with Store Balance, Token Token no Issue & cheques token Token Slip Or cheque Cheque store With token no. Retrieve Customer Record Cheque Cheque Customer accounts Customer Token Slip Cash Search Update & match Daily Cheque with cash book token token Day book 5.3.3 Systems Analysis And Design © V. Rajaraman 26 of 26 MODULE 5 DATA FLOW DIAGRAMS Contents 1. MOTIVATION AND LEARNING GOALS 2. LEARNING UNIT 1 Developing Data Flow Diagrams(DFD) a) What are DFDs? b) Symbols used in DFD c) Rules of data flow d) Good style in drawing DFD 3. LEARNING UNIT 2 Describing systems with DFD & Levelling DFDs 4. LEARNING UNIT 3 Logical & Physical DFDs 5. References DATA FLOW DIAGRAMS MOTIVATION DFD provides an overview of what data a system processes, what transformations are performed, what data are stored, what results are produced and where they flow. Graphical nature makes it a good communication tool between -User and analyst -Analyst and System designer Structure of DFD allows starting from a broad overview and expands it to a hierarchy of detailed diagrams LEARNING GOALS At the end of this module you will know 1.What are Data Flow Diagrams (DFDs)? 2.Why they are useful? 3.How are they developed? 4.How to level DFDs? 5.Good style conventions in developing DFDs 6.Difference between Logical and Physical DFDs 7.Tools available to draw DFDs LEARNING UNIT 1 Developing Data Flow Diagrams(DFD) DATA FLOW DIAGRAMS DFDs models the system by depicting external entities from which the data flows and where results terminate, processes which transform data flows, data stores from which the data are read or into which data are written by the processes. SYMBOLS USED IN DFD PROCESS Stores demand note 1. STORES Issue Advice Delivery slip A circle represents a process Straight lines with incoming arrows are input data flows Straight lines with outgoing arrows are output data flows Processes are given serial numbers for easy reference Labels are assigned to Data flow. These aid documentation EXTERNAL ENTITIES Invoice Order Bill VENDOR Customer A Rectangle represents an external entity. They either supply data or receive data. They do not process data DATA STORES Inventory Writing Reading A Data Store is a repository of data Data can be written into the data store and this is depicted by an incoming arrow. Data can be read from a data store and this is depicted by an outgoing arrow External entity cannot read or write to the data store. Two data stores cannot be connected by a data flow RULES OF DATA FLOW •Data can flow from -external entity to process -process to external entity -process to store and back -process to process • Data cannot flow from -external entity to external entity -external entity to store -store to external entity -store to store GOOD STYLE IN DRAWING DFD Use meaningful names for data flows, processes and data stores. Use top down development starting from context diagram and successively levelling DFD Only previously stored data can be read A process can only transfer input to output.It cannot create new data Data stores cannot create new data LEARNING UNIT 2 Describing systems with DFD & Levelling DFDs An entire system is represented by one DFD which gives the system’s overview . It is called a context diagram. It gives little detail & is also known as the top level DFD. Context diagram of mess management is shown Extras Note Students Requisitions Supplies Mess Manage ment Mess Secretary Vendors Payments Payments Bills Perishable Items Mess manager Daily rate Menu Item needed Each day Overdue Payments Overdue Bills Chief warden Note: This diagram gives very little detail LEVELLING DFD A context diagram gives an overview, it should be split into major processes which give greater detail. Each major process is further split to give more detail. Each major process is further split to give more detail WHY LEVEL DFD? If a DFD is too detailed it will have too many data flows and will be large and difficult to understand. Therefore start from a broad overview. Expand the details - Idea similar to using procedures and linking these with a main program. Each DFD must deal with one aspect of a big system EXPANDED DFD FOR HOSTEL MESS MANAGEMENT Students Mess Secretary Update daily rate 1 Billing Chief Warden Payments Unpaid bills Itemized bills at end of month Items used each day Extras/Rebates Expenses No of meals (today +3) Student billing Information + bills Mess manager •Going to next process (Continued in next page) Continued Low stock (today+2) Vendor supplies Vendors Order nonperishable 2 Stores issue and Control system Items to be issued (today +2) Mess Manager Items used today Menu (today +2) Vendor data Stores inventory Order data Mess Secretary Perishable order 3 Perishable ordering Vegetables and perishable requisition Orders (perishable) Vendor data (perishable) LEVELLING RULES If process p is expanded, the process at the next level are labeled as p.1,p.2 etc. All data flow entering or leaving p must also enter or leave its expanded version. Expanded DFD may have data stores No new external entity can appear in expanded DFD Keep the number of processes at each level less than 7. ILLEGAL CONSTRUCTS IN DFD No loops are allowed in DFD A process cannot be a pure decision Actual daily rate Compare Standard daily rate Actual rate > Standard rate Actual rate <= Standard rate A single data flow should not be split into many flows with different labels No data flow allowed between data stores Record Get students extra/rebates record Ask for next record Calculate Bill Extra/rebate store Above DFD not correct as loop is formed LEVELLING EXAMPLES Ext A Top Level process Ext B Ext A 1 2 F1 4 F4 Ext B 3 Process 1 Ext A 1.1 1.2 1.4 2.1 Process 2 2.2 2.3 F1 1.3 3.1 3.2 3.4 Ext B 4.3 4.1 4.2 LEARNING UNIT 3 3.3 F4 Logical & Physical DFDs LOGICAL AND PHYSICAL DFD DFD’S considered so far are called logical DFDs. A physical DFD is similar to a document flow diagram. It specifies who does the operations specified by the logical DFD. Physical DFD may depict physical movements of the goods. Physical DFDs can be drawn during fact gathering phase of a life cycle. PHYSICAL DFD FOR ENCASHING CHEQUE Cash Token Clerk Verify A/C Signature Update Balance Cashier Verify Token Take Signature Customer Cheque Token Cheque with Token number Store cheques Bad Cheque Customer Accounts Entry in Day Book LOGICAL DFD FOR CHEQUE ENCASHMENT Retrieve Customer Record Cheque Check Balance, Issue token Cheque with Token Store Token no & cheques Token Slip Or cheque Cheque Customer accounts Search & match token Update Daily cash book Cheque store With token no. Customer Cheque with token Token Slip Cash Day book REFERENCES 1. This module is based on Chapter 7 of Analysis and Design of information systems, V.Rajaraman, Prentice Hall of India, New Delhi, 2002. 2. Ian Sommerville, “Software Engineering”, 5th Edition, AddisonWesley, 1996, has a brief discussion of Data Flow Models on pp.101 to 103. 3. T.DeMarco, “Structured Analysis and System Specification”, Yourdon Press, 1978. this book written by the original developer of DFD modeling is a well written book. It is a good reference book. 4. E.Yourdon, “Modern Structured Analysis”, Prentice Hall of India, New Delhi, 1996. Chapter 9 (pp.139 to 187) is a good treatment of Data Flow Diagrams. All the topics covered in this module are discussed in this chapter. 5. Hoffer, J.A., George, J.F. and Valacich J.S., “Modern Systems Analysis and Design”, 3rd Edition, Pearson Education Asia, New Delhi, 2002. Chapter 8 (pp.241 to 271) has a good treatment of DFDs with a running example of a quick service restaurant. Different types of DFDs and logical checking of DFDs are discussed well. 6. K.E.Kendall and J.E.Kendall, “Systems Analysis and Design”, 5th Edition, Pearson Eduation Asia, New Delhi, 2003. Chapter 9 is devoted to Data Flow Diagrams (pp.241 to 285). Has a number of problems at the end of the chapter which are quite interesting. System Analysis and Design / Tools for Systems Analysts Multiple Choice Questions 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9 In a DFD external entities are represented by a (a) rectangle (b) ellipse (c) diamond shaped box (d) circle A data flow can (a) only emanate from an external entity (b) only terminate in an external entity (c) may emanate and terminate in an external entity (d) may either emanate or terminate in an external entity but not both A rectangle in a DFD represents (a) a process (b) a data store (c) an external entity (d) an input unit External Entities may be a (a) source of input data only (b) source of input data or destination of results (c) destination of results only (d) repository of data By an external entity we mean a (a) unit outside the system being designed which can be controlled by an analyst (b) unit outside the system whose behavior is independent of the system being designed (c) a unit external to the system being designed (d) a unit which is not part of a DFD A data store in a DFD represents (a) a sequential file (b) a disk store (c) a repository of data (d) a random access memory A data flow can (a) only enter a data store (b) only leave a data store (c) enter or leave a data store (d) either enter or leave a data store but not both A data cannot flow between a store and (i) a store (ii) a process (iii) an external entity (a) i and iii (b) i and ii (c) ii and iii (d) ii Data cannot flow between two data stores because M5/V1/July 04/1 V. Rajaraman/IISc. Bangalore System Analysis and Design / Tools for Systems Analysts Multiple Choice Questions (a) (b) (c) (d) 5.1.10 (a) (b) (c) (d) 5.1.11 (a) (b) (c) (d) it is not allowed in a DFD a data store is a passive repository of data data can get corrupted they will get merged Data cannot flow from an external entity to an external entity because it will get corrupted it is not allowed in DFD an external entity has no mechanism to read or write both are outside the context of the system The following portion of a DFD is not correct as there is no output data flow from the process there are three data flow inputs to the process there is no external entity there is no data store Quantity Cost/unit 4.0 Billing Process Discount 5.1.12 (a) (b) (c) (d) The following portion of a DFD is not correct as there are many data flows out of the process there are no input data flows to the process the output does not go to an external entity there is no data store Out of stock Order to vendor 4.0 Billing Proces Too much stock 5.1.13 (a) (b) (c) (d) The following portion of DFD is wrong as it has only one input it writes and reads from the same data store the process name is missing output data flows to two external entities V. Rajaraman/IISc. Bangalore M5/V1/July 04/2 System Analysis and Design / Tools for Systems Analysts Multiple Choice Questions bill Invoice Customer Supplier Advice Book Inventory 5.1.14 (a) (b) (c) (d) The following process diagram in a DFD is incorrect because the process is a single decision the process is not specified correctly there are too many input data flows the process does not refer to a data store Gross pay 2.0 Compare Minimum taxable pay 5.1.15 (a) (b) (c) (d) The following portion of a DFD is incorrect because the processes do not refer to a data store there is a loop between the two processes the processes are not specified correctly this structure is disallowed in a DFD Gross pay<=Min.taxable pay Gross pay>Min.taxable pay Gross pay 1.0 Find next pay Employee record 2.0 Calculate tax Get next record Deductions 5.1.16 Data flow in a DFD must have (i) an arrow showing direction of flow of data (ii) a meaningful name (iii)a label such as: xyz (iv) no arrows as they are confusing Tax deduction statement V. Rajaraman/IISc. Bangalore M5/V1/July 04/3 System Analysis and Design / Tools for Systems Analysts Multiple Choice Questions (a) (b) (c) (d) 5.2.1 (a) (b) (c) (d) 5.2.2 (a) (b) (c) (d) 5.2.3 (a) (b) (c) (d) 5.2.4 (a) (b) (c) (d) 5.2.5 (a) (b) (c) (d) 5.2.6 (a) (b) (c) (d) 5.2.7 (a) (b) (c) (d) 5.2.8 (a) (b) i and iii ii and iv iii and iv i and ii A context diagram describes the context of a system is a DFD which gives an overview of the system is a detailed description of a system is not used in drawing a detailed DFD A context diagram is used as the first step in developing a detailed DFD of a system in systems analysis of very complex systems as an aid to system design as an aid to programmers By levelling a DFD we mean splitting it into different levels make its structure uniform expanding a process into one with more sub-processes giving more detail summarizing a DFD to specify only the essentials A DFD is normally levelled as it is a good idea in design it is recommended by many experts it is easy to do it it is easier to read and understand a number of smaller DFDs than one large DFD A DFD is levelled by examining complex processes in a DFD and expanding them into new DFDs with more processes which are easy to understand merging a number of simple processes in a DFD into a complex processes in a new DFD expanding the functions of a number of external entities into simpler functions splitting a number of data flows into simpler data flows When a DFD is levelled no new data stores may appear external entities may appear processes may appear data flows may appear When a DFD is levelled new external entities may be required no new processes are allowed no new data flows are allowed new data stores may be necessary and are allowed When a DFD is levelled it is a good idea not to be concerned about the number of new processes at the next level allow more than 5 to 10 new processes at the next level for each expanded process V. Rajaraman/IISc. Bangalore M5/V1/July 04/4 System Analysis and Design / Tools for Systems Analysts Multiple Choice Questions (c) (d) 5.2.9 (a) (b) (c) (d) 5.3.1 a) b) c) d) 5.3.2 (a) (b) (c) (d) 5.3.3 (a) (b) (c) (d) allow new data stores at the next level allow any new processes at the next level When a process is expanded during levelling data flows entering it are replaced all data stores used by it are replaced all data flows entering it must also enter the levelled DFD all external entities used by it are replaced Before developing a logical DFD it is a good idea to develop a physical DFD develop a system flow chart determine the contents of all data stores find out user’s preferences A physical DFD specifies what processes will be used who generates data and who processes it what each person in an organization does which data will be generated A physical DFD has no means of showing material flow does not concern itself with material flow can show only stored material can show the flow of material V. Rajaraman/IISc. Bangalore M5/V1/July 04/5 System Analysis and Design / Tools for Systems Analysts Multiple Choice Questions KEY TO OBJECTIVE QUESTIONS 5.1.1 5.1.7 5.1.13 5.2.3 5.2.9 a c c c c 5.1.2 5.1.8 5.1.14 5.2.4 5.3.1 c a a d a 5.1.3 5.1.9 5.1.15 5.2.5 5.3.2 c d b a b 5.1.4 5.1.10 5.1.16 5.2.6 5.3.3 b d d b d 5.1.5 5.1.11 5.2.1 5.2.7 c a b d 5.1.6 5.1.12 5.2.2 5.2.8 c b a b V. Rajaraman/IISc. Bangalore M5/V1/July 04/6 MODULE 5 DATA FLOW DIAGRAMS WORKED EXAMPLES 5.1 What is the main merit of DFD? The main merit of DFD is that it provides an overview of what data flows in a system, what transformations are done on the data, what files are used and where results flow. 5.2 What is the role of DFD as a documentation aid? It is a good documentation aid which is understood by both programmers and non-programmers (i.e., laypersons). As DFD specifies only what processes are performed and not how they are performed it is easily understood by a nonprogramming user. 5.3 What is a context diagram? A diagram giving an entire system’s data flows and processing with a single Process (circle) is called a context diagram. 5.4 What do you understand by levelling of DFD? A context diagram is expanded into a number of inter-related processes. Each process may be further expanded into a set of inter-connected sub processes. This procedure of expanding a DFD is known as levelling. 5.5 What is a physical DFD? A physical DFD specifies from where data flows and who processes the data and to whom the processed data is sent. 5.6 In what way is physical DFD useful? It is easy to develop during fact gathering stage of systems analysis. Such a physical DFD is easily understood by a lay user who can verify the DFD drawn by an analyst and tell whether such a DFD corresponds to a particular operation taking place in an organization. Physical DFD is the starting point for developing the logical DFD. 5.7 What are the mistakes in each of the DFDs of Fig. 5.7(a)–5.7(e)? Correct these mistakes. Employee No 1 Compute Gross pay Fig 5.7(a) Gross pay Hours worked Fig 5.7(b) Employee Leave granted Application returned Leave application 1 Check if leave available &update Fig 5.7(c) 1 Compute net pay Store amount paid Employee Pay cheque Gross pay Net pay Deductions Net pay & deductions Fig 5.7(d) a A 1 P1 c 3 P3 d C f b 2 P2 e B Fig 5.7(e) Roll No and student Marks Find out if pass or fail Pass Fail (i) To compute gross pay we need hours worked and hourly wage rate. This data flow is missing. (ii) A data flow cannot have two arrows pointing in opposite directions. A separate data flow line should be drawn for “application returned”. (iii) A data flow connects two distinct data stores without an intermediate processing step. (See also answer to Exercise 7.5) (iv) Process P2 has all input data flow and no output data flow. (v) The same data flow cannot be given two names. System Analysis and Design / Tools for Systems Analysts Question Bank QUESTION BANK 5.1 What is the difference between an external entity and a process in a DFD? 5.2 5.3 5.4 5.5 5.6 What are the main merits of using a DFD? What is the role of DFD as a documentation aid? What is the difference between a source and a sink in a DFD? Why is data flow between data stores not allowed in DFD? Is data flow allowed between an external entity and a data store. If your answer is "no", explain why. 5.7 5.8 5.9 What is a context diagram? What do you understand by leveling of DFD? What is the main difference between a flow chart and a DFD? 5.10 What do you understand by top down development of a DFD? 5.11 What is a physical DFD? 5.12 What is the difference between a physical and a logical DFD? 5.13 In what way is physical DFD useful? 5.14 Prepare physical and logical DFDs for the following activities: i. ii. iii. iv. v. Issuing out a book from the library Returning a book to the library Getting a ticket reserved for a train journey Getting an item issued from a store Getting your mark-sheet from a University office. 5.15 Admission procedure in a University is as follows: An advertisement is issued giving essential qualifications for the course, the last date V. Rajaraman/IISc. Bangalore M5/V1/July 04/1 System Analysis and Design / Tools for Systems Analysts Question Bank for receipt of application, and the fee to be enclosed with the application. A clerk in the Registrar's office checks the received applications to see if mark-sheet and fee are enclosed and sends valid applications to the concerned academic department. The department checks the application in detail and decides the applicants to be admitted, those to be put in the waiting list, and those rejected. Appropriate letters are sent to the Registrar's office which intimates the applicant. Give physical and logical DFDs corresponding to the above problem. 5.16 A magazine is published monthly and is sent by post to its subscribers. Two months before the expiry of subscription, a reminder is sent to the subscribers. If subscription is not received within a month, another reminder is sent. If renewal subscription is not received up to two weeks before the expiry of the subscription, the subscriber's name is removed from the mailing list and the subscriber informed. Obtain logical DFDs for this problem 5.17 Obtain a flowchart for Exercise 5.17 and state in what way it differs from the DFD. 5.18 Obtain a physical DFD for a simple payroll system described below. A list of employees with their basic pay is sent to a clerk. He calculates the gross pay using standard allowances which are known for each pay slab. Deduction statements such as loan repayment, subscription to association etc. are also sent to another clerk who matches these slips with the slips of gross pay and calculates net pay. This slip is used by a third clerk to write out pay cheques for each employee and sent to respective employees. The total pay bills paid are also computed. 5.19 If the procedure of Exercise 5.19 is to be computerised, obtain a logical DFD for the computer-based system. V. Rajaraman/IISc. Bangalore M5/V1/July 04/2 System Analysis and Design / Tools for Systems Analysts Pointers Annotated References 1. Ian Sommerville, “Software Engineering”, 5th Edition, Addison-Wesley, 1996, has a brief discussion of Data Flow Models on pp.101 to 103. 2. T.DeMarco, “Structured Analysis and System Specification”, Yourdon Press, 1978. this book written by the original developer of DFD modeling is a well written book. It is a good reference book. 3. E.Yourdon, “Modern Structured Analysis”, Prentice Hall of India, New Delhi, 1996. Chapter 9 (pp.139 to 187) is a good treatment of Data Flow Diagrams. All the topics covered in this module are discussed in this chapter. 4. Hoffer, J.A., George, J.F. and Valacich J.S., “Modern Systems Analysis and Design”, 3rd Edition, Pearson Education Asia, New Delhi, 2002. Chapter 8 (pp.241 to 271) has a good treatment of DFDs with a running example of a quick service restaurant. Different types of DFDs and logical checking of DFDs are discussed well. 5. K.E.Kendall and J.E.Kendall, “Systems Analysis and Design”, 5th Edition, Pearson Eduation Asia, New Delhi, 2003. Chapter 9 is devoted to Data Flow Diagrams (pp.241 to 285). Has a number of problems at the end of the chapter which are quite interesting. V. Rajaraman/IISc. Bangalore M5/V1/July 04/1 SUMMARY OF MODULE 5 1. Data flow diagrams (DFDs) are used to depict the flow and transformation of data in an information processing system. 2. DFDs give an overview to an analyst specifying where data originates, how it is processed and where the results go. 3. DFDs act as a graphical communication aid between a user and an analyst. It is also useful as a communication aid between an analyst and a system designer. 4. The procedure to develop a DFD starts with one DFD giving an overview of the system to be de designed. This is called a context diagram. 5 The context diagram is expanded into a series of DFDs, each describing a specific function. This method of top down analysis and breaking down DFDs to give more and more detail is known as levelling. 6. Some style convention is developing DFDs are: i. ii. iii. Data flows, processes and data store must have meaningful names. A DFD should not have more than 7-9 processes. A DFD should not have any loops, crossing lines or pure decisions as processes. iv. 7. Data should be conserved in a DFD. In practice, DFDs are used for representing logical data flow and processing of data. It is, however, useful to evolve a logical DFD after first developing a physical DFD which shows the persons performing various operations and how data flows between persons performing operations. QUESTION BANK MODULE 5 5.1 5.2 5.3 5.4 5.5 5.6 What is the difference between an external entity and a process in a DFD? What are the main merits of using a DFD? What is the role of DFD as a documentation aid? What is the difference between a source and a sink in a DFD? Why is data flow between data stores not allowed in DFD? Is data flow allowed between an external entity and a data store. If your answer is "no", explain why. 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 What is a context diagram? What do you understand by levelling of DFD? What is the main difference between a flow chart and a DFD? What do you understand by top down development of a DFD? What is a physical DFD? What is the difference between a physical and a logical DFD? In what way is physical DFD useful? Prepare physical and logical DFDs for the following activities: i. ii. iii. iv. v. 5.15 Issuing out a book from the library Returning a book to the library Getting a ticket reserved for a train journey Getting an item issued from a store Getting your marksheet from a University office. Admission procedure in a University is as follows: An advertisement is issued giving essential qualifications for the course, the last date for receipt of application, and the fee to be enclosed with the application. A clerk in the Registrar's office checks the received applications to see if marksheet and fee are enclosed and sends valid applications to the concerned academic department. The department checks the application in detail and decides the applicants to be admitted, those to be put in the waiting list, and those rejected. Appropriate letters are sent to the Registrar's office which intimates the applicant. Give physical and logical DFDs corresponding to the above problem. 5.16 A magazine is published monthly and is sent by post to its subscribers. Two months before the expiry of subscription, a reminder is sent to the subscribers. If subscription is not received within a month, another reminder is sent. If renewal subscription is not received up to two weeks before the expiry of the subscription, the subscriber's name is removed from the mailing list and the subscriber informed. Obtain logical DFDs for this problem 5.17 Obtain a flowchart for Exercise 5.17 and state in what way it differs from the DFD. 5.18 Obtain a physical DFD for a simple payroll system described below. A list of employees with their basic pay is sent to a clerk. He calculates the gross pay using standard allowances which are known for each pay slab. Deduction statements such as loan repayment, subscription to association etc. are also sent to another clerk who matches these slips with the slips of gross pay and calculates net pay. This slip is used by a third clerk to write out pay cheques for each employee and sent to respective employees. The total pay bills paid are also computed. 5.19 If the procedure of Exercise 5.19 is to be computerised, obtain a logical DFD for the computer-based system. Annotated References 1. Ian Sommerville, “Software Engineering”, 5th Edition, Addison-Wesley, 1996, has a brief discussion of Data Flow Models on pp.101 to 103. 2. T.DeMarco, “Structured Analysis and System Specification”, Yourdon Press, 1978. this book written by the original developer of DFD modeling is a well written book. It is a good reference book. 3. E.Yourdon, “Modern Structured Analysis”, Prentice Hall of India, New Delhi, 1996. Chapter 9 (pp.139 to 187) is a good treatment of Data Flow Diagrams. All the topics covered in this module are discussed in this chapter. 4. Hoffer, J.A., George, J.F. and Valacich J.S., “Modern Systems Analysis and Design”, 3rd Edition, Pearson Education Asia, New Delhi, 2002. Chapter 8 (pp.241 to 271) has a good treatment of DFDs with a running example of a quick service restaurant. Different types of DFDs and logical checking of DFDs are discussed well. 5. K.E.Kendall and J.E.Kendall, “Systems Analysis and Design”, 5th Edition, Pearson Eduation Asia, New Delhi, 2003. Chapter 9 is devoted to Data Flow Diagrams (pp.241 to 285). Has a number of problems at the end of the chapter which are quite interesting. 6. MODULE 6 PROCESS SPECIFICATION OBJECTIVE QUESTIONS There are 4 alternative answers to each question. One of them is correct. Pick the correct answer. Do not guess. A key is given at the end of the module for you to verify your answer LEARNING UNIT 1 6.1.1 Structured English is used to describe (a) how programs are to be written (b) processes in a DFD in a reasonably precise manner (c) how DFDs are used in data processing (d) data flows in DFD 6.1.2 Structured English is a (a) structured programming language (b) description of processes in simple English (c) method of describing computational procedures reasonably precisely in English (d) natural language based algorithmic language 6.1.3 The objective of using structured English is to (a) describe computational procedures reasonably precisely which can be understood by any user (b) expand a DFD so that a user can understand it (c) develop algorithms corresponding to processes in a DFD (d) ease writing programs for DFDs 6.1.4 Structured English description of processes (i) should be understandable to a user of a computer based system (ii) should be understandable to a programmer (iii) can be descriptive in nature (iv) should be translatable by a compiler (a) i and iii (b) ii and iv (c) i, ii and iv (d) i and ii 6.1.5 A decision table is (a) a truth table (b) a table which facilitates taking decisions (c) a table listing conditions and actions to be taken based on the testing of conditions (d) a table in a Decision Support System 6.1.6 A decision table (a) has a structured English equivalent representation (b) cannot be represented using structured English (c) does not have an equivalent algorithmic representation (d) cannot be used to represent processes in a DFD 6.1.7 A decision table is preferable when the number of (a) conditions to be checked in a procedure is small (b) conditions to be checked in a procedure is large (c) actions to be carried out are large (d) actions to be carried out are small 6.1.8 Select from the following list which are appropriate to use in structured English description of a process (i) process inventory records (ii) find the sum of outstanding billed amounts (iii) check if outstanding amount >= Rs. 5000 (iv) check if stock is low (a) i and ii (b) i and iii (c) iii and iv (d) ii and iii 6.1.9 Structured English statements must be (a) short and clear (b) specified quantitatively (c) specified qualitatively (d) detailed and descriptive 6.1.10 Select statements from the following list which may be used in structured English (i) if marks are too low fail student (ii) if marks >=60 enter first class (iii) if average height select candidate (iv) if weight < 40 kg. reject candidate (a) i and ii (b) ii and iii (c) iii and iv (d) ii and iv 6.1.11 Select correct decision structures from the following (i) if total marks>=75 then enter distinction in student record end if (ii) if total marks >=50 then enter pass in student record else enter fail in student record end if (iii) if total marks >=60 then enter first class in student record else if total marks>= 50 then enter second class in student record else enter fail in student record end if end if (iv) if attendance <30% then do not admit in examination else (a) ii and iii (b) i and ii (c) iii and iv (d) i and iv 6.1.12 The following structured English procedure is incorrect because if balance in account <=0 then {issue exception note to dept. mark “stop future issues” in departments record} else if balance in account <minimum balance then { issue item to dept. issue warning to dept.} end if end if (a) end if in second if is not needed (b) nesting of ifs is not correct (c) no action is specified when balance in account >=minimum balance (d) the value of minimum balance is not specified 6.1.13 The following structural English is incorrect because case (income slab) Income slab =1 : tax= 10% Income slab =2 or 3 : tax= 20% Income slab =5 : tax= 30% end case (a) no action is specified for income slab of 4 (b) income slab has to be rupees (c) income slab =2 or 3 is wrong (d) number of cases is too small 6.1.14 The following structured English procedure is incorrect because case (code) Code=2 : if purchase amount >=5000 then discount=5% Code=1 : discount=2% Code=3 : if purchase amount >=4000 then discount =2% else if code=4 then discount =5% end if None of the above codes : discount=0 end case (a) code=2 should appear after code=1 (b) if statement cannot be used within a case (c) code=4 should not be used in the action for code=3 (d) The statement is correct 6.1.15 The following while structure is wrong because balance =500 while balance <=1000 do Write (amount due – balance) Read next record end while (a) read must appear before write (b) this loop will never terminate (c) no read allowed in a loop the contents of next record is not known LEARNING UNIT 2 6.2.1 Structured English description of data processing is a (a) non-procedural specification (b) procedural specification (c) purely descriptive specification (d) very imprecise specification 6.2.2 Decision table description of data processing is (a) non-procedural specification (b) procedural specification (c) purely descriptive specification (d) very imprecise specification 6.2.3 In the following word statement the conditions are: “if a student gets 50 marks or more in mathematics and 40 marks or more in English he passes the examination, otherwise he fails” (a) student passes the examination (b) student fails the examination (c) student gets 50 marks or more in mathematics (d) student mathematics marks >= 50 and student English marks >= 40 6.2.4 In the following word statement the actions are “if a student gets 50 marks or more in mathematics and 40 marks or more in English he passes the examination, otherwise he fails” (i) student passes the examination (ii) student fails the examination (iii) student gets 50 marks or more in mathematics (iv) student mathematics marks >= 50 and student English marks >= 40 (a) i and ii (b) i and iii (c) ii and iii (d) iii and iv 6.2.5 In a limited entry decision table the condition stub (a) lists X or – corresponding to actions to be executed (b) lists the conditions to be tested (c) has Y or N or – entries (d) lists the actions to be taken 6.2.6 In a limited entry decision table the condition entries (a) list X or – corresponding to actions to be executed (b) list the conditions to be tested (c) have Y or N or – entries (d) list the actions to be taken 6.2.7 In a limited entry decision table the action stub (a) lists X or – corresponding to actions to be executed (b) lists the conditions to be tested (c) has Y or N or – entries (d) lists the actions to be taken 6.2.8 In a limited entry decision table the action entries (a) list X or – corresponding to actions to be executed (b) list the conditions to be tested (c) have Y or N or – entries (d) list the actions to be taken 6.2.9 In a limited entry decision table the condition entries may be (a) Y or N only (b) Y, N or – (c) A binary digit (d) Any integer 6.2.10 In a limited entry decision table a—entry against a condition signifies that (a) the outcome of testing the condition is irrelevant (b) it is an important condition (c) the condition should be tested (d) the condition is a Boolean condition 6.2.11 A rule in a limited entry decision table is a (a) row of the table consisting of condition entries (b) row of the table consisting of action entries (c) column of the table consisting of condition entries and the corresponding action entries (d) columns of the tables consisting of conditions of the stub 6.2.12 The conditions in the condition stub of a limited entry decision table (a) must be in sequential order (b) must be in the order in which they are to be tested (c) may be in any order (d) must be in the order in which they are to be executed 6.2.13 The actions in the action stub of a limited entry decision table (a) must be in sequential order (b) must be in the order in which they are to be tested (c) may be in any order (d) must be in the order in which they are to be executed 6.2.14 A X against an action in an action row signifies that the (a) action is not to be taken (b) action is to be taken (c) action is important (d) action is not important 6.2.15 A—against an action in an action row signifies that the (a) action is not to be taken (b) action is to be taken (c) action is important (d) action is not important 6.2.16 An extended entry decision table has (a) only Y, N or – entries (b) entries which extend the condition (c) questions asked extended into the condition entry part of the table (d) only numerical entries 6.2.17 An extended entry decision table (a) has no limited entry equivalent (b) cannot be replaced by a table with only Y, or – entries (c) may have Yes, No answers to conditions (d) can always be converted to an equivalent limited entry decision table 6.2.18 An extended entry decision table is (a) very difficult to understand (b) quite concise compared to a limited entry decision table developed for the same task (c) large compared to a limited entry table developed for the same task (d) is not very often used 6.2.19 A mixed entry decision table (a) may have some conditions with Y, N, or – entries (b) may not have any Y, N, or – entry (c) may have only non-numerical entries (d) may mix numerical and non-numerical entries Given a decision table “test” shown below C1 C2 A1 A2 A3 R1 Y N X – X R2 N – –– X – R3 Y Y Decision table–“test” – X Answer the following questions: 6.2.20 Rule R1 is interpreted as follows: (a) If C1 is TRUE and C2 is FALSE then perform action A2 (b) If C1 is TRUE and C2 is FALSE then perform action A1 and then action A2 (c) If C1 is TRUE and C2 is FALSE then perform action A3 and then action A1 (d) If C1 is TRUE and C2 is FALSE then perform action A1 and then action A3 6.2.21 Rule R3 is interpreted as follows: (a) If C1 is TRUE and C2 is TRUE then perform action A1 and A2 (b) If C1 is TRUE or C2 is TRUE then perform action A3 (c) If C1 is TRUE and C2 is TRUE then perform action A1 or A2 (d) If C1 is TRUE and C2 is TRUE then perform action A3 6.2.22 Structured English equivalent of the decision table “test” are given below (i) if C1 TRUE then if C2 TRUE then do A3 else do A1 and A3 end if else do A2 end if (ii) if C1 FALSE then do A2 else if C2 TRUE then do A3 else do A1 and A3 end if end if (iii) if C2 TRUE then if C1 TRUE then do A3 else do A2 end if else do A1 and A3 end if (iv) if C2 FALSE then if C1 TRUE then do A1 and A3 else do A2 end if else do A3 end if Which of the following are correct? (a) i and iii (b) i and ii (c) iii and iv (d) ii and iv 6.2.23 Structured English equivalents of decision table “test” are given below. Pick the right ones (i) if C1 TRUE and C2 FALSE then R=1 end if if C1 FALSE then R=2 end if if C1 TRUE and C2 TRUE then R=3 end if case (R) R=1; perform actions A1 and A3 R=2; perform action A2 R=3; perform action A3 end case (ii) if C1 TRUE and C2 FALSE then perform actions A1, A3 end if if C1 FALSE then perform action A2 end if if C1 TRUE and C2 TRUE then perform action A3 end if (iii) case (C1 TRUE and C2 FALSE) Rule R1 case (C1 FALSE) Rule R2 case (C1 TRUE and C2 TRUE) Rule R3 end case (iv) if C1 TRUE and C2 TRUE then do Rule R3 end if if C1 TRUE and C2 FALSE then do Rule R1 end if if C1 TRUE then do Rule R2 end if (a) i and ii (b) i and iii (c) ii and iii (d) iii and iv 6.2.24 The Elementary Rule Decision Table equivalent of decision table “test” is (a) C1 C2 A1 A2 A3 (b) C1 C2 A1 A2 A3 Y N X – X Y N X – X N N – X – N Y – X – Y Y – – X Y Y – – X (c) C1 C2 A1 A2 A3 Y N X – X Y N X – X N N – X – N N – X – N Y – X – N Y – – X Y Y – – X Y Y – – X (d) C1 C2 A1 A2 A3 LEARNING UNIT 3 6.3.1 The decision table “test” is (a) ambiguous (b) contradictory (c) incomplete (d) complete Answer the following referring to the decision table “test2” C1 : x <= 50 C2 : x >= 70 A1 A2 R1 N – X – R2 – N – X Decision Table: “test2” 6.3.2 Decision table “test2” is (a) really incomplete (b) complete (c) apparently incomplete (d) apparently complete 6.3.3 Decision table “test2” (a) has a real ambiguity (b) has an apparent ambiguity (c) is logically correct (d) is incomplete C1 C2 A1 A2 N – Y – – N – Y DECISION TABLE “testing” 6.3.4 Decision table “testing” can be made complete (i) by putting an ELSE rule (ii) is as it is complete and does not need any more rules (iii) by specifying actions when C1 = Y and C2 = Y (iv) by specifying actions when C1 = N and C2 = N (a) (i), (ii) (b) (i), (iii) (c) (ii), (iii) (d) (ii), (iv) 6.3.5The K-map equivalent of decision table “test2” is C1 C1 a) C2 Y N A1 b) C2 Y Y N A1 A2 N A2 A1 Y N A2 A1 c) C2 C1 d) Y N A1 A2 A1,A2 C2 C1 Y Y N A2 N A1 A2 Y N 6.3.6 The decision table equivalent of the following structured English statement is if C2 then TRUE if then else end if do C1 do do TRUE A3 A2 else end if (a) C1 C2 A1 A2 A3 Y Y – – X A1 and A3 Y N – X – N – X – X (b) C2 C1 A1 A2 A3 Y Y – – X Y N – X – N N X – X (c) C1 C2 A1 A2 A3 Y Y – – X Y Y – – X N Y – X – N Y – X – – N X – X Y N X – X (d) C1 C2 A1 A2 A3 6.3.7 The decision table equivalent of the following structured English statement is if balance in account <=0 then {issue exception note to dept. and mark “stop future issues”} else if balance in account <min. balance then {issue item to dept. else end if end if C1=balance in account <=0; C2=balance in account < min. balance A1=issue exception note and mark “no future issues” A2=issue item to dept A3=issue warning to dept. (a) C1 C2 A1 A2 A3 (b) C1 C2 A1 A2 A3 (c) C1 C2 A1 A2 A3 (d) C1 C2 A1 A2 A3 Y – X – – Y N X – – N – X – – Y N X – – N Y – X X N Y – X X N Y – X X N Y – X X N N – X – N N – X – N N – X – Y N – X – Y Y – X – issue warning to dept.} {issue item to dept.} 6.3.8The decision table given in answer (a) of question 9.4.3 is (a) incomplete (b) apparently ambiguous (c) has contradictory specifications (d) logically complete 6.3.9 The rule C1=Y, C2=Y in the decision table given in answer (a) of question 6.3.7 is (a) logically impossible (b) logically possible (c) has no action specified (d) has multiple actions specified 6.3.10 If min. balance > 0 then the rule C1=Y, C2= – in the decision table given in answer (a) of question 6.3.7 may be replaced by the rule (a) C1=Y, C2=N (b) C1=Y, C2=Y (c) C1= –, C2=Y (d) C1= –, C2=N LEARNING UNIT 4 6.4.1 The actions of a decision table are mapped on a K-map shown below: The boxes marked X denote impossible rules C1C2 C3 NN Y N A1 A1 NY A1 A2 YY A2 A2 YN The rule for action A1 may be represented by the following minimal Boolean expression (a) C1.C2 + C1.C2.C3 (b) C1.C2.C3 + C1.C3 (c) C1.C3 + C2 (d) C1.C3 + C2.C1 6.4.2 The following decision table may be replaced by its best equivalent shown below: C1 C2 C3 A1 A2 N N Y X – N N N – X N Y N – X N Y Y X – Y Y Y – X Y Y N – X Y N N X X Y N Y X X (a) C1 C2 C3 A1 A2 N – Y X – N – N – X Y Y – – X Y N – X X (b) C1 C2 C3 A1 A2 – – N – X Y – – – X N – Y X – Y N – X X (c) C1 C2 C3 A1 A2 N – N – X – Y N – X Y Y – – X N – Y X – Y N – X X (d) C1 C2 C3 A1 A2 Y – – – X N – N – X N – Y X – Y N – X X 6.4.3 The following decision table may be replaced by its best equivalent shown below: C1 C2 C3 C4 A1 A2 A3 A4 (a) C1 C2 C3 C4 A1 A2 A3 A4 N N N N X – – – Y N – N X – – – Y N N N X – – – Y N Y N X – – – N N – N X – – – N N Y N X – – – N – N Y – X – – N Y N Y – X – – Y Y N Y – X – – N – Y Y – X – – N Y Y Y – X – – Y Y Y Y – X – – N N – Y – – X – N N N Y – – X – N N Y Y – – X – Y N – Y – – X – Y N N Y – – X – Y N Y Y – – X – – Y N N – – – X N Y N N – – – X Y Y N N – – – X – Y Y N – – – X N Y Y N – – – X Y Y Y N – – – X (b) C2 C4 A1 A2 A3 A4 N N X – – – Y Y – X – – N Y – – X – Y N – – – X (c) C1 C2 C3 C4 A1 A2 A3 A4 – – N N X – – X N N – Y – – X – Y N – Y – – X – – Y – Y – X – – – – Y N X – – X (d) C2 C3 C4 A1 A2 A3 A4 – – N X – – X N – Y – – X – Y – Y – X – – – Y N X – – X Given the decision table “test 3”answer the following questions: x>=20 x<=30 y>=x A1 A2 A3 R1 Y Y Y X – – R2 Y Y N X – – R3 Y N Y X – – R4 Y N N X – – R5 N Y Y – X – R6 N Y N – X – R7 N N Y – – X R8 N N N – – X 6.4.4 (a) (b) (c) (d) Rules R7, R8 are logically impossible Rules R5, R6 are logically impossible Rules R3, R4 are logically impossible Rules R1, R2 are logically impossible 6.4.5 Pick the correct equivalent of “test 3” (a) C1 A1 A2 Y X – N – X (b) C1 C2 A1 A2 A3 Y – X – – N Y – X – N N – – X (c) C1 C3 C2 A1 A2 Y N – X – Y Y – X – N N – – X N Y – – X (d) C1 C2 Y – N Y N N A1 A2 A3 X – – – X – – – X 6.4.6 The decision table “test 3“ is (a) incomplete (b) ambiguous (c) incorrect (d) has redundancies 6.4.7 The decision table equivalent of the following Boolean expression is A1= C3.C1.C2 + C2.C3.C1 A2= C1.C3 + C3.C2.C1+ C1.C2.C3 (a) C1 C2 C3 A1 A2 Y Y N X – Y N Y X – Y – Y – X N N Y – X N N N – X (b) C1 C2 C3 A1 A2 Y Y Y X – Y N Y X – Y N – – X N N Y – X N N N – X (c) C2 C1 C3 A1 A2 Y Y N X – Y N Y X – Y – Y – X N N Y – X N N N – X (d) C1 C2 C3 A1 A2 Y Y N X X Y N Y X X Y – Y – X N N Y – X N N N – X 6.4.8 A decision table “test 4” is given below C1 C2 C3 C4 A1 A2 A3 ? Y Y Y – X – – – Y – Y Y X – – – N N Y – X – – – – Y – Y – X – – – – Y N – X – – N N N – – – X – Y N N – – – X – N – N N – – – I where I indicates impossible rule The contradictory rules are (a) YYYY, NYYY, NNYY (b) YYYN, NYYN, NNYN (c) YYYY, YYYN, NNYN (d) There are no contradictory rules 6.4.9 In “test 4” the contradictory actions are: (a) A1, A3 (b) A1, A2 (c) A2, A3 (d) A2, I 6.4.10 In “test 4” missing rule is: (a) NYNN (b) NYYN (c) YYNN (d) YNYN 6.4.11 If in “test 4” the rules where the contradictory actions or unspecified actions are present, the action is replaced by A2 only, the reduced decision table using impossible rules also for reduction is: (a) C1 C2 C3 C4 A1 A2 A3 – N Y Y X – – – – Y N – X – – Y – Y – X – – Y Y – – X – – – N N – – X N N N – – – X (b) C1 C2 C3 C4 A1 A2 A3 N N Y Y X – – Y N Y Y X – – – Y N Y – X – – Y Y – – X – – – Y N – X – N – N N – – X N N N – – – X (c) C1 C2 C3 C4 A1 A2 A3 – N Y Y X – – N Y Y X – – – – Y N – X – Y – – – X – – Y – Y – X – – Y N – X – – – N N – – X N N – – – X N N N – – – X (d) C2 C3 C4 A1 A2 A3 6.5.1 Decision Trees are preferred when a) Too many conditions need to be tested b) Sequencing of testing conditions is important c) When there are many loops to be performed d) When too many actions are to be taken 6.5.2 Decision Tables are preferred when a) Too many conditions need to be tested b) Sequencing of testing conditions is important c) When there are many loops to be performed d) When too many actions are to be taken 6.5.3 Structured English is preferred when a) Too many conditions need to be tested b) Sequencing of testing conditions is important c) When there are many loops to be performed d) When too many actions are to be taken 6.5.4 The objective of using decision trees is to a) Expand a DFD so that a user can understand it b) To specify sequence of conditions to be tested and actions to be taken c) Describe a computational procedure that can be easily understood by a person c) Use it as a tool in decision support system 6.5.5 Decision trees are superior to decision tables when a) The number of conditions to be tested is very large b) When sequence of testing conditions is not particularly important c) When sequence of testing conditions is not particularly important c) When a large number of actions are to be specified 6.5.6 Logical correctness of a specifications can be systematically checked by a) Using decision trees b) Using structured English c) Using DFD’s d) Using decision tables 6.5.7 The decision tree equivalent of the following structured English is if C2 then if C1 then A3 else A2 endif else A1,A3 endif A3 Y Y C2 N a) C1 N A2 A1, A3 Y b) Y C2 N C1 N C1 N Y A3 A2 A1 A3 Y Y c) C2 N C1 N A3 A2 A1, A3 A2 d) C2 A1A3 C1 A3 6.5.8 Decision tables are better then Decision trees when a) Conditions are to be isolated from actions in a word statement b) Condition sequences are to be found from a word statement c) Logical correctness of a word statement is to be established d) Large number of actions is to be performed 6.5.9 The decision table equivalent of the Decision tree of choice (a) of 6.5.7 is a) C2 C1 A1 A2 A3 Y N X X N Y X N N X X Y Y X b) C1 C2 A1 A2 A3 Y Y X Y N X N X X c) C1 C2 A1 A2 A3 d) C1 C2 A1 A2 A3 Y Y X Y N X N Y X X Else Error Y Y X Y N X N Y X X KEY TO OBJECTIVE QUESTIONS 6.1.1 6.1.7 6.1.13 6.2.4 6.2.10 6.2.16 6.2.22 6.3.4 6.3.10 6.4.6 6.5.1 6.5.7 b b a a a c b b b d b c 6.1.2 6.1.8 6.1.14 6.2.5 6.2.11 6.2.17 6.2.23 6.3.5 6.4.1 6.4.7 6.5.2 6.5.8 c d c b c d a c c a a c 6.1.3 6.1.9 6.1.15 6.2.6 6.2.12 6.2.18 6.2.24 6.3.6 6.4.2 6.4.8 6.5.3 6.5.9 a b b c c b c c a c c b 6.1.4 6.1.10 6.2.1 6.2.7 6.2.13 6.2.19 6.3.1 6.3.7 6.4.3 6.4.9 6.5.4 d d b d d a d a b b b 6.1.5 6.1.11 6.2.2 6.2.8 6.2.14 6.2.20 6.3.2 6.3.8 6.4.4 6.4.10 6.5.5 c 6.1.6 a c d b a d a b a d d a 6.1.12 a 6.2.3 a 6.2.9 b 6.2.15 d 6.2.21 c 6.3.3 d 6.3.9 a 6.4.5 c 6.4.11 c 6.5.6 MODULE 6 PROCESS SPECIFICATION Learning Units 6.1 Structured English specification 6.2 Decision table based specifications 6.3 Detecting -Incompleteness -Ambiguity -Contradictions -Redundancy in decision table specification 6.4 Eliminating redundancy in specifications 6.5 Decision trees for specifications Systems Analysis And Design © V. Rajaraman LEARNING GOALS In this module we will learn 1. How to use structured English to precisely specify processes 2. The terminology used in structured English 3. Terminology of decision tables and how it is used to specify complex logic 4. How to detect errors in decision table specifications 5. Terminology and use of decision trees 6. Comparison of structured English, decision tables and decision trees Systems Analysis And Design © V. Rajaraman 1 of 54 MOTIVATION Before designing a system an analyst must clearly understand the logic to be followed by each process block in a DFD An analyst’s understanding must be cross checked with the user of the information system. A notation is thus needed to specify process block in detail which can be understood by a user. Systems Analysis And Design © V. Rajaraman 2 of 54 MOTIVATION Notation used must be appropriate for the type of the application to be modelled. Different notations are needed to represent repetition structures,complex decision situation and situations where sequencing of testing of conditions is important Systems Analysis And Design © V. Rajaraman 3 of 54 MOTIVATION For complex logical procedures a notation is needed which can also be used to detect logical errors in the specifications. A tabular structure for representing logic can be used as a communication tool and can be automatically converted to a program. Systems Analysis And Design © V. Rajaraman 4 of 54 PROCESS SPECIFICATION Once a DFD is obtained the next step is to precisely specify the process. Structured English, Decision tables and Decision Trees are used to describe process. Decision tables are used when the process is logically complex involving large number of conditions and alternate solutions Decision Trees are used when conditions to be tested must follow a strict time sequence. 6.1.1 Systems Analysis And Design © V. Rajaraman 5 of 54 STRUCTURED ENGLISH Structured English is similar to a programming language such as Pascal It does not have strict syntax rules as programming language Intention is to give precise description of a process The structured English description should be understandable to the user © V. Rajaraman 6.1.2 Systems Analysis And Design 6 of 54 STRUCTURED ENGLISH if customer pays advance then Give 5% Discount else if purchase amount >=10,000 then if the customer is a regular customer then Give 5% Discount else No Discount end if else No Discount end if end if 6.1.3 Systems Analysis And Design © V. Rajaraman 7 of 54 DECISION TABLE-EXAMPLE Same structured English procedure given as decision table CONDITIONS RULE1 Advance payment made Y Purchase amt >=10,000 Regular Customer? ACTIONS Give 5% Discount Give No Discount X - RULE2 N Y Y RULE3 N Y N RULE4 N N - X - X X 6.1.4 Systems Analysis And Design © V. Rajaraman 8 of 54 DECISION TABLE-EXPLANATION Conditions are questions to be asked ‘Y’ is yes,’N’ is no & ‘-’ is irrelevant A ‘X’ against the action says the action must be taken A ‘-’ against the action says the action need not be taken Rule 2 in decision table DISCOUNT states: if no advance payment and purchase amount >=10000 and regular customer then give 5% discount 6.1.5 Systems Analysis And Design © V. Rajaraman 9 of 54 STRUCTURED ENGLISH Imperative sentences- Actions to be performed should be precise and quantified Good Example: Give discount of 20% Bad Example: Give substantial discount Operators -Arithmetic : +, -, /, * Relational : >, >=, <, <=, =, != Logical : and, or, not Keywords : if, then, else, repeat, until, while, do, case, until, while, do, case, for, search, retrieve, read, write Delimiters – {, }, end, end if, end for 6.1.6 Systems Analysis And Design © V. Rajaraman 10 of 54 DECISION TREE-EXAMPLE The structured English procedure given in 6.1.3 is expressed as a Decision tree below Give 5% Discount Y C1 N C2 Y N No Discount C3 Y N Give 5% Discount No Discount C1: Advance payment made C2: Purchase amount >=10,000 C3: Regular Customer 6.1.7 Systems Analysis And Design Y = Yes N = No © V. Rajaraman 11 of 54 STRUCTURED ENGLISH-DECISION STRUCTURES If condition then { Group of statements } else { Group of statements } end if Example: if(balance in account >= min.balance) then honor request else reject request end if 6.1.8 Systems Analysis And Design © V. Rajaraman 12 of 54 STRUCTURED ENGLISH-CASE STATEMENT Case (variable) Variable = P: { statements for alternative P} Variable = Q: { statements for alternative Q} Variable = R: { statements for alternative R} None of the above: { statements for default case} end case Example : Case(product code) product code =1 : discount= 5% product code =2 : discount =7% None of the above : discount=0 end case 6.1.9 Systems Analysis And Design © V. Rajaraman 13 of 54 STRUCTURED ENGLISH-REPETITION STRUCTURE for index = initial to final do { statements in loop } end for Example : Total =0 for subject =1 to subject =5 do total marks=total marks +marks(subject) write roll no,total marks end for 6.1.10 Systems Analysis And Design © V. Rajaraman 14 of 54 STRUCTURED ENGLISH-WHILE LOOP while condition do { statements in loop } end while Example : while there are student records left to do read student record compute total marks find class write total marks, class, roll no end while 6.1.11 Systems Analysis And Design © V. Rajaraman 15 of 54 EXAMPLE Update inventory file for each item accepted record do { search inventory file using item code if successful then { update retrieved inventory record; write updated record in inventory file using accepted record} else { create new record in inventory file; enter accepted record in inventory file} end if end for 6.1.12 Systems Analysis And Design © V. Rajaraman 16 of 54 DECISION TABLE-MOTIVATION A procedural language tells how data is processed Structured English is procedural Most managers and users are not concerned how data is processedthey want to know what rules are used to process data. Specification of what a system does is non-procedural. Decision Tables are non-procedural specification of rules used in processing data 6.2.1 Systems Analysis And Design © V. Rajaraman 17 of 54 ADVANTAGES OF DECISION TABLE •Easy to understand by non-computer literate users and managers •Good documentation of rules used in data processing. •Simple representation of complex decision rules . •Tabular representation allows systematic validation of specification detection of redundancy,incompleteness & inconsistency of rules •Algorithms exist to automatically convert decision tables to equivalent computer programs. • Allows systematic creation of test data 6.2.2 Systems Analysis And Design © V. Rajaraman 18 of 54 METHOD OF OBTAINING DECISION TABLE FROM WORD STATEMENT OF RULES EXAMPLE A bank uses the following rules to classify new accounts If depositor's age is 21 or above and if the deposit is Rs 100 or more, classify the account type as A If the depositor is under 21 and the deposit is Rs 100 or more, classify it as type B If the depositor is 21 or over and deposit is below Rs 100 classify it as C If the depositor is under 21 and deposit is below Rs 100 do-not open account Identify Conditions: Age >= 21 Cl Deposits >= Rs 100: C2 Identify Actions : Classify account as A, B or C Do not open account 6.2.3 Systems Analysis And Design © V. Rajaraman 19 of 54 DECISION TABLE FROM WORD STATEMENT Condition Stub CODITIONS C1 : Age >= 21 C2: Deposit >=100 ACTIONS A1: Classify as A A2: Classify as B A3: Classify as C A4: Do not open Account Action Stub X X X Rule 1 Y Y Rule 2 N Y Rule 3 Y N Rule 4 N N - - - X 6.2.4 Systems Analysis And Design © V. Rajaraman 20 of 54 DECISION TABLE NOTATION EXPLAINED CONDITION STUB ACTION STUB CONDITION ENTRIES ACTION ENTRIES RULE • 4 Quadrants-demarcated by two double lines •CONDITION STUB LISTS ALL CONDITIONS TO BE CHECKED •ACTION STUB LISTS ALL ACTIONS TO BE CARRIED OUT •LIMITED ENTRY DECISION TABLE:ENTRIES ARE Y or N or -.Y-YES,NNO,-IRRELEVANT(DON’T CARE) •X against action states it is to be carried out. •-against action states it is to be ignored. •Entries on a vertical column specifies a rule 6.2.5 Systems Analysis And Design © V. Rajaraman 21 of 54 DECISION TABLE NOTATION -CONTD •ORDER OF LISTING CONDITIONS IRRELEVANT i.e. CONDITIONS MAY BE CHECKED IN ANY ORDER •ORDER OF LISTING ACTIONS IMPORTANT •ACTIONS LISTED FIRST CARRIED OUT FIRST SEQUENTIAL EXECUTION OF ACTIONS •RULES MAY BE LISTED IN ANY ORDER 6.2.6 Systems Analysis And Design © V. Rajaraman 22 of 54 INTERPRETING DECISION TABLE-ELSE RULE C1: Is applicant sponsored C2: Does he have min qualification C3: Is fee paid? A1: Admit letter A2: Provisional Admit letter A3: Regret letter R1 Y Y Y X - R2 Y Y N X - ELSE X Interpretation R1: If applicant sponsored and he has minimum qualifications and his fee is paid –Send Admit letter R2: If applicant sponsored and has minimum qualifications and his fee not paid send provisional admit letter ELSE: In all cases send regret letter.The else rule makes a decision table complete 6.2.7 Systems Analysis And Design © V. Rajaraman 23 of 54 DECISION TABLE FOR SHIPPING RULES R1 C1: Qty ordered <= Quantity in stock? C2: (Qty in stock-Qty ordered)<=reorder level C3: Is the partial shipment ok? A1:Qty shipped=Qty ordered A2:Qty shipped=Qty in stock A3:Qty shipped=0 A4:Qty in stock=0 A5:Back order=qty orderedqty shipped A6:Initiative reorder procedure A7: Qty in stock Qty in stock -Qty shipped R2 Y Y X X R3 N Y X X X X R4 N N X X X Y N X - X X - - 6.2.8 Systems Analysis And Design © V. Rajaraman 24 of 54 EXTENDED ENTRY DECISION TABLE Condition Entries not necessarily Y or N Action entries not necessarily X or Extended Entry Decision Tables(EEDT) more concise EEDT can always be expanded to LEDT Example C1 : Product code C2 : Customer code C3 : Order amount R1 1 A R2 1 B R3 1 A >500 R4 1 B >500 R5 1 C R6 2 - <=500 <=500 Discount = 5% 7.5% 7.5% 10% 6% 5% 6.2.9 Systems Analysis And Design © V. Rajaraman 25 of 54 MIXED ENTRY DECISION TABLE Can mix up Yes, No answers with codes Rl Cl : Product code = 1? C2: Customer code = C3: Order amount < 500? Discount = R2 Y B Y 7 5% R3 Y A N 7 5% R4 Y B N 10% R5 Y C 6% R6 N 5% A Y 5% Choice of LEDT, EEDT, MEDT depends on ease of communication with user, software available to translate DTs to programs, ease of checking etc. 6.2.10 Systems Analysis And Design © V. Rajaraman 26 of 54 LINKED DECISION TABLE Decision table 1 Salary point=6 Conduct OK? Diligence OK? Efficiency OK? Go to table 2 No promotion N Y Y Y X e l s e X Decision table 2 Salary point>2 1 yr as class 1 officer Departmental test Passed? Advance to next salary point No promotion Go to Table3 Y else Y X X N Y Y N N N N Y - Decision table3 Complete departmental Course 1 yr since last increment Advance to next salary point No promotion X - X - X - X 1.Observe that one can branch between tables 2. Whenever complex rules are given it is a good idea to break them up into manageable parts 6.2.11 Systems Analysis And Design © V. Rajaraman 27 of 54 LOGICAL CORRECTNESS OF DECISION TABLE Consider decision table DTI: Rl Cl: x>60 Y C2:x<40 Al A2 : DT2: X R11 R2 Y X R12 Y N X R21 N Y X R22 Y Y X We can expand decision table by replacing each –by Y & N Cl: x>60 Y C2:x<40 Y Al A2 : X - A rule which has no – is an Elementary rule DT2 is an Elementary Rule Decision Table (ERDT) 6.3.1 Systems Analysis And Design © V. Rajaraman 28 of 54 LOGICAL CORRECTNESS OF DECISION TABLE (CONTD) A decision table with 1 condition should have 2 elementary rules Each elementary rule must be distinct Each elementary rule must have distinct action If a decision table with k conditions does not have 2k rules specified it is said to be incomplete For example : DT2 does not have the elementary rule C1:N, C2:N. It is thus incomplete. If the decision table has the same elementary rule occurring more than once it is said to have multiplicity of specifications For Example:In DT2 The rule C1:Y,C2:Y occurs twice.Thus it has multiplicity of specification 6.3.2 Systems Analysis And Design © V. Rajaraman 29 of 54 LOGICAL CORRECTNESS OF DECISION TABLE (CONTD) If action specified for multiple identical rules are different then it is called ambiguous specifications DT2 has an ambiguity.Rules R11 and R21 are identical but have different actions Ambiguity may be apparent or real It is said to be apparent if the rule leading to the ambiguity is logically impossible For example,(x>60)=Y and (x<40)=Y cannot occur simultaneously. Thus in DT2 rules R11 and R22 are apparently ambiguous rules Apparently ambiguous rules is not an error 6.3.3 Systems Analysis And Design © V. Rajaraman 30 of 54 LOGICAL CORRECTNESS OF DECISION TABLE (CONTD) If an apparently ambiguous specification is real then it is a contradiction For example : If C1:(X > 60) = Y and C2:(X > 40) = Y then X = 70 will satisfy both inequalities. As two actions are specified for (Cl = Y, C2 = Y) and they are different the rule is really ambiguous and is called Contradictory Specification. 6.3.4 Systems Analysis And Design © V. Rajaraman 31 of 54 LOGICAL CORRECTNESS OF DECISION TABLE (CONTD) • If all 2k elementary rules are not present in a k condition decision table is said to be incomplete. •DT2 (PPT 6.3.1) is incomplete as rule C1:N, C2:N is missing •Rule C1=N, C2:=N is logically possible as C1=N is X<=60 and C2=N is X >= 40. A value of X = 50 will make C1=N,C2=N Thus DT2 has a real incomplete specification •A decision table which has no real ambiguities or real incompleteness is said to be logically correct •A decision table with logical errors should be corrected 6.3.5 Systems Analysis And Design © V. Rajaraman 32 of 54 USE OF KARNAUGH MAPS KARNAUGH map abbreviated K-map is a 2 dimensional diagram with one square per elementary rule The k-map of DT2 is C2 C1 N ? N Y A2 Y Al A1,A2 If more than one action is in one square it is an ambiguous rule If a square is empty it signifies incomplete specification 6.3.6 Systems Analysis And Design © V. Rajaraman 33 of 54 USE OF KARNAUGH MAPS Structured English procedure: If carbon content<0.7 then if Rockwell hardness>50 then if tensile strength>30000 then steel is grade 10 else steel is grade 9 end if else steel is grade 8 end if Decision table-Grading steel else steel is grade 7 end if C1:Carbon content <0.7 Y Y Y N Y N N C2:Rockwell hardness>50 Y Y N N N Y Y C3 tensile strength>30000 Y N N N Y Y N N N Y ? Grade 10 9 8 7 ? ? ? 6.3.7 Systems Analysis And Design © V. Rajaraman 34 of 54 KARNAUGH MAPS – GRADING STEEL C1 C2 NN C3 N 7 Y NY YY YN ? ? ? 9 10 8 ? The 3 conditions are independent The decision table is thus incomplete Observe that in the Structured English specifications the incompleteness is not obvious 6.3.8 Systems Analysis And Design © V. Rajaraman 35 of 54 DECISION TABLE-ARREARS MANAGEMENT R1 R2 R3 R4 R5 R6 C1:Payment in current month >min.specified payment C2:Payment in current month>0 C3:Any payment in last 3 months C4: Actual arrears > 3(min. Specified payment per month) Y N N Y Y Y N N Y N N Y Y N Y A1 : Send letter A A2 : Send letter B A3 : Send letter C A4 : Send letter D A5 : Send letter E X - X - X - X - X X - 6.3.9 Systems Analysis And Design © V. Rajaraman 36 of 54 KARNAUGH MAP C1C2 C3C4 NN NN NY YY YN ? A3 A1 A1* K – Map for decision table NY YY YN C1 : x>m C2:x>0 C3:y>0 C4:z>3m m>0 C3,C4 independent of C1,C2 C1,C2 dependent C1: Y C2: Y x>m, x>0 possible C1: Y C2: N x>m, x<=0 not logically possible C1: N C2: Y x<=m,x>0 possible C1: N C2: N x<=m,x<=0 possible Thus C1,C2,C3 C4:NNNN incomplete specification BOXES MARKED * NOT LOGICALLY POSSIBLE Rules C1 C2 C3 C 4 : NYNY and YYNY logical errors Errors to be corrected after consulting users who formulated the rules A4 A4 A5 A2A4+ A1A4+ A1A4* A2 A1 A1A4* A3 A1 A1A5* 6.3.10 Systems Analysis And Design © V. Rajaraman 37 of 54 CORRECT DECISION TABLE • If users say that for rules C1C2C3C4:NYNY AND YYNY (marked with + in k-map) the action is A4 and for C1C2C3C4:NNNN also it is A4, the corrected map is C1C2 C3C4 NN NN NY YY YN A4 A4 A4 A5 A3 A4 A2 A3 A1 A4 A1 A1 Impossible rules NY YY YN 6.3.11 Systems Analysis And Design © V. Rajaraman 38 of 54 CORRECTED DECISION TABLE C1 C2 C3 C4 Action Y Y N N A1 Y Y Y Y A1 Y Y Y N A1 N N N Y Y N N Y N Y A4 Y Y N Y A4 N N Y Y N N N Y N N N N N N Y N A5 Y Y Y Y N N A2 A3 A3 A4 A4 A4 Question: Can the number of rules be reduced Answer : Yes, by combining rules with the same action Action A1 can be represented by the Boolean expression: C1C2C3C4 + C1C2C3C4 + C1C2C3C4 = C1C2C3C4 + C1C2C3 (C4+C4) =C1C2C3C4+C1C2C3 = C1C2C4 + C1C2C3 6.3.12 Systems Analysis And Design © V. Rajaraman 39 of 54 REDUNDANCY ELIMINATION •Redundancy can be eliminated by systematically applying four identities of Boolean Algebra • These identities are A + A=1 l.A = A A+A=A 1+A=1 •K-map assists in identifying Boolean terms in which One or more variables can be eliminated •K-map is constructed in such a way that two boxes which are physically adjacent in it are also logically adjacent 6.4.1 Systems Analysis And Design © V. Rajaraman 40 of 54 KARNAUGH MAP REDUCTION C1 C2 NN NY YY YN C3 C4 A4 NN NY YY YN A4 NY YY YN C1 C2 C3 C4 NN NN A4 A4 A4 A4 NY YY YN A4=C1C2C3(C4+C4)=C1C2C3 A4=C3C4(C1C2+C1C2+C1C2+C1C2)=C3C4 •Combining 2 adjacent boxes eliminates 1 variable •Combining 4 adjacent boxes eliminates 2 variable •Combining 8 adjacent boxes eliminates 3 variable •First and last columns of k-map are logically adjacent •First and last rows are also logically adjacent 6.4.2 Systems Analysis And Design © V. Rajaraman 41 of 54 KARNAUGH MAP REDUCTION C1C2 NN C3 C4 A1 NN NY YY A1 YN A1 YN A1 A1 NY YY YN A1 A1 NY A1 YY A2 A2 A2 A2 C1C2 C3 C4 NN NN A2 A2 NY YY YN A2 A2 C1C2 C3 C4 NN NN A3 NY A3 YY YN A3 A3 NY YY YN A1=(C3C4+C3C4+C3C4+C3C4).(C1C2+C1C2)=C2(C3+C3)=C2 A2=(C1C2+C1C2)(C3C4+C3C4+C3C4+C3C4)=C2 A3=C1C2C3C4+C1C2C3C4+C1C2C3C4+C1C2C3C4 =C2C3C4(C1+C1)+C2C3C4(C1+C1) =C2C4(C3+C3)=C2C4 6.4.3 Systems Analysis And Design © V. Rajaraman 42 of 54 REDUCING DECISION TABLES-USE OF K-MAP This is the K-map corresponding to DT of 6.3.12 C1C2 C3C4 NN NY YY NN NY YY YN A4 A4 A4 A5 A3 A4 A2 A3 A1 A4 A1 A1 YN Boxes marked X correspond to impossible rules. They can be used if they are useful in reducing rules Using k-map reduction rules we get A1 : C1C4+C1C3 A2 : C1C2C3C4 A3 : C1C2C4 A4 : C3C4+C2C3+C2C4 A5 : C2C3C4 6.4.4 Systems Analysis And Design © V. Rajaraman 43 of 54 REDUCING DECISION TABLES REDUCED DECISION TABLE for DT of 6.3.12 C1: Payment in current month > min specified payment C2: Payment in current month>0 C3: Any payment in last 3 months C4: Actual arrears> 3(minimum specified payment per month) Y N X - Y Y X - N N Y Y Y - N Y N Y N N - N N - Y Y N A: Send letter A B: Send letter B C: Send letter C D: Send letter D E: Send letter E - - - X - - X - - X X - - - X - X 6.4.5 Systems Analysis And Design © V. Rajaraman 44 of 54 EXAMPLE-REDUCTION OF RULES IN WORD STATEMENT Rules : Insure Driver if following rules are satisfied 1. 2. 3. 4. 5. Drivers annual income > 20000 & is married male Drivers annual income > 20000 & is married and over 30 Drivers annual income <= 20000 & she is married female Driver is male over 30 Driver is married and age is not relevant Else do not insure Conditions: C1 : Annual income > 20000 C2 : Male C3 : Married C4: Age > 30 Action: Insure or do not insure 6.4.6 Systems Analysis And Design © V. Rajaraman 45 of 54 DECISION TABLE FOR INSURANCE RULES Cl : Annual income> 20000 C2: Male C3: Married C4: Age > 30 A1:Insure A2 :Do not insure Y Y Y X C1C2 C3C4 NN NY YY YN NN NY YY YN Y Y Y X - N N Y X - Y Y X - - E - L Y S N E X X A1 A1 A1 A1 A1 A1 A1=C3+C2.C4 A1 A1 A1 A1 6.4.7 Systems Analysis And Design © V. Rajaraman 46 of 54 REDUCED DECISION TABLE C2 : Male C3 : Married C4 : Age > 30 Y - Y Y ELSE Al : Insure A2 : Do not Insure X - X - X Reduced rules : Insure if married or male over 30 Observe 5 rules simplified to 2 and 1 condition removed 6.4.8 Systems Analysis And Design © V. Rajaraman 47 of 54 DECISION TREES Used when sequence of testing condition is important It is more procedural compared to Decision tables 6.5.1 Systems Analysis And Design © V. Rajaraman 48 of 54 EXAMPLE – DECISION TREE TO BOOK TRAIN TICKET Book by II AC on 4/8/04 if available else book by II AC on 5/8/04.If both not available book by sleeper on 4/8/04 if available else book on 5/8/04 by sleeper.If none available return. Y Book II AC Book II AC Y Book sleeper Y Book ticket C1 N Y N C2 C3 N C1: Is II AC ticket available on 4/8/04 C4 C2: Is II AC ticket available on 5/8/04 N C3: Is sleeper available on 4/8/04 Return C4: Is sleeper available on 5/8/04 Observe in the tree sequencing of conditions which is important in this example 6.5.2 Systems Analysis And Design © V. Rajaraman 49 of 54 DECISION TREES Decision trees are drawn left to right Circles used for conditions Conditions labelled and annotation below tree Conditions need not be binary For example: >=60 GRADE A GRADE B GRADE C GRADE F C1 >=50 >=40 else Sometimes Decision trees are more appropriate to explain to a user how decisions are taken 6.5.3 Systems Analysis And Design © V. Rajaraman 50 of 54 DECISION TREES Decision tree for decision table of 6.2.9 [Slide number 25] YES C3 NO C3 YES NO Discount=7.5% Discount=5% Discount=10% Discount=7.5% Discount=6% Discount=5% A C2 B 1 C1 2 C1: PRODUCT CODE C2 : CUSTOMER CODE C3: ORDER AMOUNT >500? C • Observe that the 3 alternatives for connection C2 shown as three branching lines SOME PEOPLE FIND DECISION TREE EASIER TO UNDERSTAND 6.5.4 Systems Analysis And Design © V. Rajaraman 51 of 54 DECISION TREES Decision tree equivalent of structured English procedure of 6.3.7 (SLIDE 37) is given below NO Grade 7 Grade 8 C1 YES C1 NO YES Grade 9 NO C1 C1 : Carbon < 0.7 C2 : Rockwell hardness > 50 C3: Tensile strength > 3000 YES Grade 10 • Observe incompleteness evident in the equivalent Decision Table is not evident in the Decision tree • If the testing sequence is specified and is to be strictly followed the Decision tree is simple to understand. 6.5.5 Systems Analysis And Design © V. Rajaraman 52 of 54 COMPARISON OF STRUCTURED ENGLISH, DECISION TABLES AND DECISION TREES CRITERION FOR COMPARISON ISOLATING CONDITIONS & ACTIONS SEQUENCING CONDITIONS BY PRIORITY CHECKING FOR COMPLETENESS , CONTRADICTIO N& AMBIGUITIES STRUCTURED ENGLISH DECISION TABLES DECISION TREES NOT GOOD BEST GOOD GOOD NOT GOOD BEST NOT GOOD BEST GOOD 6.5.6 Systems Analysis And Design © V. Rajaraman 53 of 54 WHEN TO USE STRUCTURED ENGLISH,DECISION TABLES AND DECISION TREES Use Structured English if there are many loops and actions are complex Use Decision tables when there are a large number of conditions to check and logic is complex Use Decision trees when sequencing of conditions is important and if there are not many conditions to be tested 6.5.7 Systems Analysis And Design © V. Rajaraman 54 of 54 MODULE 6 PROCESS SPECIFICATION Contents 1. MOTIVATION AND LEARNING GOALS 2. LEARNING UNIT 1 Structured English specification 3. LEARNING UNIT 2 Decision table based specifications 4. LEARNING UNIT 3 Detecting -Incompleteness -Ambiguity -Contradictions -Redundancy in decision table specification 5. LEARNING UNIT 4 Eliminating redundancy in specifications 6. LEARNING UNIT 5 Decision trees for specifications 7. REFERENCES PROCESS SPECIFICATION MOTIVATION Before designing a system an analyst must clearly understand the logic to be followed by each process block in a DFD. An analyst’s understanding must be crosschecked with the user of the information system. A notation is thus needed to specify process block in detail, which can be understood by a user. Notation used must be appropriate for the type of the application to be modelled. Different notations are needed to represent repetition structures, complex decision situation and situations where sequencing of testing of conditions is important. For complex logical procedures a notation is needed which can also be used to detect logical errors in the specifications. This is called Decision Table. A tabular structure for representing logic can be used as a communication tool and can be automatically converted to a program. LEARNING GOALS At the end of this module you will know 1.How to use structured English to precisely specify processes 2.The terminology used in structured English 3.Terminology of decision tables and how it is used to specify complex logic 4.How to detect errors in decision table specifications 5.Terminology and use of decision trees 6.Comparison of structured English, decision tables and decision trees LEARNING UNIT 1 Structured English specification PROCESS SPECIFICATION Once a DFD is obtained the next step is to precisely specify the process. Structured English, Decision tables and Decision Trees are used to describe processes. Decision tables are used when the process is logically complex involving large number of conditions and alternate solutions. Decision trees are used when conditions to be tested must follow a strict time sequence. STRUCTURED ENGLISH Structured English is similar to a programming language such as Pascal. It does not have strict syntax rules as in programming languages as the intention is only to give precise description of a process. The structured English description should be understandable to the user. Example: if customer pays advance then else if purchase amount >=10,000 then if the customer is a regular customer then else end if DECISION TABLE-EXAMPLE else No Discount end if Same structured English procedure given as decision table end if Give 5% Discount No Discount Give 5% Discount CONDITIONS Advance payment made Purchase amt >=10,000 Regular Customer? ACTIONS Give 5% Discount Give No Discount RULE1 Y - RULE2 N Y Y RULE3 N Y N RULE4 N N - X - X - X X DECISION TABLE-EXPLANATION Conditions are questions to be asked ‘Y’ is yes,’N’ is no & ‘-’ is irrelevant A ‘X’ against the action says the action must be taken A ‘-’ against the action says the action need not be taken Rule 2 in decision table DISCOUNT states: if no advance payment and purchase amount >=10000 and regular customer then give 5% discount In Structured English, imperative sentences, actions to be performed should be precise and quantified Good Example: Give discount of 20% Bad Example: Give substantial discount The operators and keywords in Structured English are as follows: Operators -Arithmetic : +, -, /, * Relational : >, >=, <, <=, =, != Logical : and, or, not Keywords : if, then, else, repeat, until, while, do, case, until, while, do, case, for, search, retrieve, read, write Delimiters – {, }, end, end if, end for The structured English procedure given above is expressed as a Decision tree below Give 5% Discount Y C1 C3 Y Y C2 Give 5% Discount N N No Discount No Discount N Y = Yes N = No C1: Advance payment made C2: Purchase amount >=10,000 C3: Regular Customer STRUCTURED ENGLISH-DECISION STRUCTURES If condition then { Group of statements } else { Group of statements } end if Example: if(balance in account >= min.balance) then honor request else reject request end if STRUCTURED ENGLISH-CASE STATEMENT Case (variable) Variable = P: { statements for alternative P} Variable = Q: { statements for alternative Q} Variable = R: { statements for alternative R} None of the above: { statements for default case} end case Example : Case(product code) product code =1 : discount= 5% product code =2 : discount =7% None of the above : discount=0 end case STRUCTURED ENGLISH-REPETITION STRUCTURE for index = initial to final do { statements in loop } end for Example : Total =0 for subject =1 to subject =5 do total marks=total marks +marks(subject) write roll no,total marks end for STRUCTURED ENGLISH-WHILE LOOP while condition do { statements in loop } end while Example : while there are student records left do read student record compute total marks find class write total marks, class, roll no end while EXAMPLE Update inventory file for each item accepted record do { search inventory file using item code if successful then { update retrieved inventory record; write updated record in inventory file using accepted record} else { create new record in inventory file; enter accepted record in inventory file} end if end for LEARNING UNIT 2 Decision table based specifications ADVANTAGES OF DECISION TABLE Easy to understand by non-computer literate users and managers. Good documentation of rules used in data processing. Simple representation of complex decision rules. Tabular representation allows systematic validation of specification detection of redundancy, incompleteness & inconsistency of rules. There exist algorithms to automatically convert decision tables to equivalent computer programs. METHOD OF OBTAINING DECISION TABLE FROM WORD STATEMENT OF RULES EXAMPLE A bank uses the following rules to classify new accounts If depositor's age is 21 or above and if the deposit is Rs 100 or more, classify the account type as A If the depositor is under 21 and the deposit is Rs 100 or more, classify it as type B If the depositor is 21 or over and deposit is below Rs 100 classify it as C If the depositor is under 21 and deposit is below Rs 100 do-not open account Identify Conditions: Age >= 21 Cl Deposits >= Rs 100: C2 Identify Actions : Classify account as A, B or C Do not open account DECISION TABLE FROM WORD STATEMENT Condition Stub CODITIONS C1 : Age >= 21 C2: Deposit >=100 Rule 1 Y Y Rule 2 N Y Rule 3 Y N Rule 4 N N ACTIONS A1: Classify as A A2: Classify as B A3: Classify as C A4: Do not open Account X X X - - - - X Action Stub DECISION TABLE NOTATION EXPLAINED CONDITION STUB CONDITION ENTRIES ACTION STUB ACTION ENTRIES • 4 Quadrants-demarcated by two double lines • CONDITION STUB LISTS ALL CONDITIONS TO BE CHECKED • ACTION STUB LISTS ALL ACTIONS TO BE CARRIED OUT • LIMITED ENTRY DECISION TABLE:ENTRIES ARE Y or N or -.YYES,N- NO,-IRRELEVANT(DON’T CARE) • X against action states it is to be carried out. • - against action states it is to be ignored. • Entries on a vertical column specifies a rule •order of listing actions important while order of listing conditions is not important •actions listed first carried out first sequential execution of actions •rules may be listed in any order INTERPRETING DECISION TABLE-ELSE RULE C1: Is applicant sponsored? C2: Does he have min Qualification? C3: Is fee paid? A1: Admit letter A2: Provisional Admit letter Y Y Y X - Y Y N X ELSE - - X Interpretation R1: If applicant sponsored and he has minimum qualifications and his fee is paid –Send Admit letter R2: If applicant sponsored and has minimum qualifications and his fee not paid send provisional admit letter ELSE: In all other cases send regret letter.The else rule makes a decision table complete DECISION TABLE FOR SHIPPING RULES R1 C1: Qty ordered <= Quantity in stock? C2: (Qty in stock-Qty ordered)<=reorder level C3: Is the partial shipment ok? Y N X R2 Y Y X R3 N Y - R4 N N - A1:Qty shipped=Qty ordered EXTENDED ENTRY DECISION TABLE Condition Entries not necessarily Y or N Action entries not necessarily X or - Extended Entry Decision Tables(EEDT) more concise EEDT can always be expanded to LEDT Example C1 : Product code C2 : Customer code C3 : Order amount R1 1 A <=500 R2 1 B <=500 R3 1 A >500 R4 1 B >500 R5 1 C - R6 2 - Discount = 5% 7.5% 7.5% 10% 6% 5% MIXED ENTRY DECISION TABLE Can mix up Yes, No answers with codes Rl Cl : Product code = 1? C2: Customer code = C3: Order amount < 500? Discount = Y A Y R2 Y B Y R3 Y A N R4 Y B N R5 Y C - R6 N 5% 5% 7.5% 7.5% 10% 6% Choice of LEDT, EEDT, MEDT depends on ease of communication with user. Softwares are available to translate DTs to programs.DT’s are easy to check. LINKED DECISION TABLE Decision table 1 Salary point=6 Conduct OK? Diligence OK? Efficiency OK? Go to table 2 No promotion N Y Y Y X e l s e X Decision table 2 Salary point>2 1 yr as class 1 officer Departmental test Passed? N Y Y N N N N Y - Advance to next salary point No promotion Go to Table3 Y Y X - X - X - X Decision table3 Complete departmental Course 1 yr since last increment else 1.Observe that one can branch between tables 2. Whenever complex rules are given it is a good idea to break them up into manageable parts LOGICAL CORRECTNESS OF DECISION TABLE Consider decision table DTI: Rl Y X R2 Y X Cl: x>60 C2:x<40 Al A2 : We can expand decision table by replacing each –by Y & N DT2: Cl: x>60 C2:x<40 Al A2 : R11 Y Y X - R12 Y N X - R21 N Y X R22 Y Y X A rule which has no – is an Elementary rule DT2 is an Elementary Rule Decision Table (ERDT) From this table we see that the rule YY has two contradictory actions. Thus we need to examine the table further and make sure it is not a serious mistake. Also the rule C1=C2=N is missing which needs further examination LEARNING UNIT 3 Detecting- Incompleteness, Ambiguity,Contradictions & Redundancy in decision table specification LOGICAL CORRECTNESS OF DECISION TABLE (CONTD) A decision table with 1 condition should have 2 elementary rules, each elementary rule must be distinct, each elementary rule must have distinct k action, if a decision table with k conditions does not have 2 rules specified it is said to be incomplete. For example : DT2 does not have the elementary rule C1:N, C2:N. It is thus incomplete. If the decision table has the same elementary rule occurring more than once it is said to have multiplicity of specifications For Example: In DT2 The rule C1:Y,C2:Y occurs twice. Thus it has multiplicity of specification. If action specified for multiple identical rules are different then it is called ambiguous specifications DT2 has an ambiguity. Rules R11 and R22 are identical but have different actions. Ambiguity may be apparent or real. It is said to be apparent if the rule leading to the ambiguity is logically impossible For example,(x>60)=Y and (x<40)=Y cannot occur simultaneously. Thus in DT2 rules R11 and R22 are apparently ambiguous rules Apparently ambiguous rules is not an error If an apparently ambiguous specification is real then it is a contradiction For example : If C1:(X > 60) = Y and C2:(X > 40) = Y then X = 70 will satisfy both inequalities. As two actions are specified for (Cl = Y, C2 = Y) and they are different the rule is really ambiguous and is called Contradictory Specification. If all 2k elementary rules are not present in a k condition decision table is said to be incomplete. DT2 is incomplete as rule C1:N, C2:N is missing Rule C1=N, C2:=N is logically possible as C1=N is X<=60 and C2=N is X >= 40. A value of X = 50 will make C1=N,C2=N Thus DT2 has a real incomplete specification A decision table which has no real ambiguities or real incompleteness is said to be logically correct. Decision table with logical errors should be corrected USE OF KARNAUGH MAPS KARNAUGH map abbreviated K-map is a 2 dimensional diagram with one square per elementary rule The k-map of DT2 is C1 C2 N Y N Y ? A2 Al A1,A2 If more than one action is in one square it is an ambiguous rule If a square is empty it signifies incomplete specification. USE OF KARNAUGH MAPS Structured English procedure: If carbon content<0.7 then if Rockwell hardness>50 then if tensile strength>30000 then steel is grade 10 else steel is grade 9 end if else steel is grade 8 end if else steel is grade 7 end if DT3: Decision table-Grading steel C1:Carbon content <0.7 C2:Rockwell hardness>50 C3 tensile strength>30000 Y Y Y N Y N N N Y Y N N N Y Y N Y N N N Y Y N Y 10 9 8 7 ? ? ? ? Grade KARNAUGH MAPS – GRADING STEEL C1 C2 NN C3 NY ? ? YY 9 10 YN 8 ? N Y 7 ? Observe that the fact that the specification is incomplete is obvious in the Decision table whereas the structured English specification seems complete which is not. DT4: DECISION TABLE-ARREARS MANAGEMENT R1 R2 R3 R4 R5 R6 C1:Payment in current month >min.specified payment C2:Payment in current month>0 C3:Any payment in last 3 months C4: Actual arrears > 3(min. Specified payment per month) Y N Y Y N Y N N Y N Y N N Y Y A1 : Send letter A A2 : Send letter B A3 : Send letter C A4 : Send letter D A5 : Send letter E X - X - X - X - X X - KARNAUGH MAP C1C2 C3C4 NN NN ? NY YY YN A4 A4 NY A3 A2A4+ A2 YY A1 A1A4+ A1 YN A1* A1A4* A1A4* C1 : x>m C2:x>0 C3:y>0 C4:z>3m A1 m>0 A5 A3 A1A5* C3,C4 independent of C1,C2 C1,C2 dependent C1: Y C2: Y x>m, x>0 possible C1: Y C2: N x>m, x<=0 not logically possible C1: N C2: Y x<=m,x>0 possible C1: N C2: N x<=m,x<=0 possible Thus C1,C2,C3 C4:NNNN incomplete specification BOXES MARKED * NOT LOGICALLY POSSIBLE Rules C1 C2 C3 C 4 : NYNY and YYNY logical errors Errors to be corrected after consulting users who formulated the rules CORRECT DECISION TABLE If users say that for rules C1C2C3C4:NYNY AND YYNY (marked with + in k-map) the action is A4 and for C1C2C3C4:NNNN also it is A4, the corrected map is C1C2 C3C4 NN NN A4 NY YY YN A4 A4 A5 NY A3 A4 A2 A3 YY A1 A4 A1 A1 YN IMPOSSIBLE RULES CORRECTED DECISION TABLE DT4 C1 C2 C3 C4 Y Y N N Y Y Y Y Y Y Y N N N N Y Y N N Y N Y Y Y N Y N N Y Y N N N Y N N N N N N Y N Y Y Y Y N N Question: Can the number of rules be reduced? Answer : Yes, by combining rules with the same action Action A1 can be represented by the Boolean expression: C1C2C3C4 + C1C2C3C4 + C1C2C3C4 = C1C2C3C4 + C1C2C3 (C4+C4) =C1C2C3C4+C1C2C3 = C1C2C4 + C1C2C3 LEARNING UNIT 4 Eliminating redundancy in specifications REDUNDANCY ELIMINATION Redundancy can be eliminated by systematically applying four identities of Boolean Algebra These identities are KARNAUGH MAP REDUCTION NN A1 A1 A1 YY A1 YN A1 YN NY YY YN A1 A1 NY A1 YY A2 A2 A2 A2 C1C2 C3 C4 NN NN A2 A2 NN NY YY YN C3 C4 NN NY NY YY YN A2 A2 C3 C4 NN A3 NY A3 YY YN A3 A3 A3=C1C2C3C4+C1C2C3C4+C1C2C3C4+C1C2C3C4 =C2C3C4(C1+C1)+C2C3C4(C1+C1) =C2C4(C3+C3)=C2C4 REDUCING DECISION TABLES-USE OF K-MAP C1C2 C3C4 NN NY YY YN NN NY YY A4 A4 A4 A3 A4 A2 A1 A4 A1 A5 A3 A1 YN Boxes marked X correspond to impossible rules. They can be employed if they are useful in reducing rules Using k-map reduction rules we get A1 : C1C4+C1C3 A2 : C1C2C3C4 A3 : C1C2C4 A4 : C3C4+C2C3+C2C4 A5 : C2C3C4 REDUCING DECISION TABLES C1: Payment in current month > min specified payment C2: Payment in current month>0 C3: Any payment in last 3 months C4: Actual arrears> 3(minimum specified payment per month) Y N Y Y - N N Y Y Y - N Y N Y N N - N N - Y Y N X X - - - A: Send letter A B: Send letter B X - C: Send letter C X EXAMPLE-REDUCTION OF RULES-IN WORD STATEMENTD: Send letter D - X X Rules : Insure E: Send letter E Driver if following rules are satisfied - - 1.Drivers annual income > 20000 & is married male 2.Drivers annual income > 20000 & is married and over 30 3.Drivers annual income <= 20000 & she is married female 4.Driver is male over 30 5.Driver is married and age is not relevant Else do not insure Conditions: C1 : Annual income > 20000 C2 : Male C3 : Married C4: Age > 30 Action: Insure or do not insure X - X DECISION TABLE FOR INSURANCE RULES Cl : Annual income> 20000 C2: Male C3: Married C4: Age > 30 A1:Insure A2 :Do not insure Y Y Y X - Y Y Y X - N N Y X - Y Y X - E L Y S N E X X C1C2 C3C NN NY YY A1 YN REDUCED DECISION TABLE NN NY YY YN A1 A1 A1 A1 A1 A1 A1 A1 A1=C3+C2.C4 A1 C2 : Male C3 : Married C4 : Age > 30 Al : Insure A2 : Do not Insure Y X Y Y X - ELSE LEARNING UNIT 5 - X Decision trees for specifications Reduced rules : Insure if married or male over 30 DECISION TREES Observe 5 rules simplified to 2 and 1 condition removed Decision Trees is used when sequence of testing condition is important. It is more procedural compared to Decision tables. EXAMPLE – DECISION TREE TO BOOK TRAIN TICKET Book by II AC on 4/8/04 if available else book by II AC on 5/8/04.If both not available book by sleeper on 4/8/04 if available else book on 5/8/04 by sleeper. If none available return. Y Book II AC C1 N Y Book II AC C2 N Y Book sleeper Book sleeper C3 N Y C4 N Return C1: Is II AC ticket available on 4/8/04 C2: Is II AC ticket available on 5/8/04 C3: Is sleeper available on 4/8/04 C4: Is sleeper available on 5/8/04 Observe in the tree sequencing of conditions which is important in this example CONDITIONS Decision trees are drawn left to right Circles used for conditions Conditions labelled and annotation below tree Conditions need not be binary For example: >=60 C GRADE A GRADE B GRADE C GRADE F >=50 >=40 else Sometimes Decision trees are more appropriate to explain to a user how decisions are taken COMPARISON OF STRUCTURED ENGLISH, DECISION TABLES AND DECISION TREES CRITERION FOR COMPARISON STRUCTURED ENGLISH DECISION TABLES DECISION TREES ISOLATING CONDITIONS & ACTIONS SEQUENCING CONDITIONS BY PRIORITY CHECKING FOR COMPLETENESS, CONTRADICTION NOT GOOD BEST GOOD GOOD NOT GOOD BEST NOT GOOD BEST NOT GOOD WHEN TO USE STRUCTURED ENGLISH,DECISION TABLES AND DECISION TREES Use Structured English if there are many loops and actions are complex Use Decision tables when there are a large number of conditions to check and logic is complex Use Decision trees when sequencing of conditions is important and if there are not many conditions to be tested REFERENCES 1. V.Rajaraman, “Analysis and Design of Information Systems”, 2nd Edition, Prentice Hall of India, New Delhi, 2002. Most of the material in this module is based on Chapter 8 and 9 of the above book. The book is perhaps the only one which has extensive discussion on error detection in Decision Tables. 2. K.E. Kendall and J.E.Kendall, “Systems Analysis and Design”, 5th Edition, Pearson Education Asia, Delhi, 2003. Has a brief discussion of structured English, Decision Tables and Decision Trees (pages 353 to 369). Website www.prenhall.com/kendall has a lot of support material and case study for students. 3. J.A.Hoffer, J.F.George, J.S.Velacich, “Modern Systems Analysis and Design”, Third Edition, Pearson Education Asia, 2002. Chapter 7 (pages 282 to 303) cover the topics in this module. The book has a number of interesting case studies and a good problem set. The web site http://prenhall.com/hoffer has material to assist students who use this text book. 4. E.Yourdon “Modern Structured Analysis”, Prentice Hall of India, 1996. Chapter 11 (pages 203 to 232) describes structured English and Decision Tables. There is a larger set of exercises at the end of the chapter. System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions 6.1 Structured English is used to describe a. how programs are to be written b. processes in a DFD in a reasonably precise manner c. how DFDs are used in data processing d. data flows in DFD 6.2 Structured English is a a. structured programming language b. description of processes in simple English c. method of describing computational procedures reasonably precisely in English d. natural language based algorithmic language 6.3 The objective of using structured English is to a. describe computational procedures reasonably precisely which can be understood by any user b. expand a DFD so that a user can understand it c. develop algorithms corresponding to processes in a DFD d. ease writing programs for DFDs 6.4 Structured English description of processes (i) should be understandable to a user of a computer based system (ii) should be understandable to a programmer (iii) can be descriptive in nature (iv) should be translatable by a compiler a. i and iii b. ii and iv c. i, ii and iv d. i and ii 6.5 A decision table is a. a truth table b. a table which facilitates taking decisions c. a table listing conditions and actions to be taken based on the testing of conditions V. Rajaraman/IISc. Bangalore M6/V1/July 04/1 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions d. a table in a Decision Support System 6.6 A decision table a. has a structured English equivalent representation b. cannot be represented using structured English c. does not have an equivalent algorithmic representation d. cannot be used to represent processes in a DFD 6.7 A decision table is preferable when the number of a. conditions to be checked in a procedure is small b. conditions to be checked in a procedure is large c. actions to be carried out are large d. actions to be carried out are small 6.8 Select from the following list which are appropriate to use in structured English description (i)process inventory records (ii)find the sum of outstanding billed amounts (iii)check if outstanding amount >= Rs. 5000 (iv)check if stock is low a. i and ii b. i and iii c. iii and iv d. ii and iii 6.9 Structured English statements must be a. short and clear b. specified quantitatively c. specified qualitatively d. detailed and descriptive 6.10 Select statements from the following list which may be used in structured English (i)if marks are too low fail student (ii)if marks >=60 enter first class (iii)if average height select candidate of a process V. Rajaraman/IISc. Bangalore M6/V1/July 04/2 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions (iv)if weight < 40 kg. reject candidate a. i and ii b. ii and iii c. iii and iv d. ii and iv 6.11 Select correct decision structures from the following (i)if total marks>=75 then enter distinction in student record end if (ii) if total marks >=50 then enter pass in student record else enter fail in student record end if (iii) if total marks >=60 then enter first class in student record else if total marks>= 50 then enter second class in student record else enter fail in student record end if end if (iv) if then do not admit in examination else a. ii and iii b. i and ii c. iii and iv d. i and iv attendance <30% V. Rajaraman/IISc. Bangalore M6/V1/July 04/3 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions 6.12 The following structured English procedure is incorrect because if balance in account <=0 then {issue exception note to dept. mark “stop future issues” in departments record} else if balance in account <minimum balance then { issue item to dept. issue warning to dept.} end if end if a. end if in second if is not needed b. nesting of ifs is not correct c. no action is specified when balance in account >=minimum balance d. the value of minimum balance is not specified 6.13 The following structural English is incorrect because case (income slab) Income slab =1 : Income slab =2 or 3 : Income slab =5 : end case a. no action is specified for income slab of 4 b. income slab has to be rupees c. income slab =2 or 3 is wrong d. number of cases is too small tax= 10% tax= 20% tax= 30% V. Rajaraman/IISc. Bangalore M6/V1/July 04/4 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions 6.14 The following structured English procedure is incorrect because case (code) Code=2 : if purchase amount >=5000 then discount=5% Code=1 :discount=2% Code=3 :if purchase amount >=4000 then discount =2% else if code=4 then discount =5% end if None of the above codes : discount=0 end case a. code=2 should appear after code=1 b. if statement cannot be used within a case c. code=4 should not be used in the action for code=3 d. The statement is correct 6.15 The following while structure is wrong because balance =500 while balance <=1000 do Write (amount due – balance) Read next record end while a. read must appear before write b. this loop will never terminate c. no read allowed in a loop d. the contents of next record is not known 6.16 Structured English description of data processing is a a. non-procedural specification b. procedural specification V. Rajaraman/IISc. Bangalore M6/V1/July 04/5 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions c. purely descriptive specification d. very imprecise specification 6.17 Decision table description of data processing is a. non-procedural specification b. procedural specification c. purely descriptive specification d. very imprecise specification 6.18 In the following word statement the conditions are:“if a student gets 50 marks or more in mathematics and 40 marks or more in English he passes the examination, otherwise he fails” a. student passes the examination b. student fails the examination c. student gets 50 marks or more in mathematics d. student mathematics marks >= 50 and student English marks 6.19 In the following word statement the actions are“if a student gets 50 marks or more in mathematics and 40 marks or more in English he passes the examination, otherwise (i)student passes the examination (ii)student fails the examination (iii)student gets 50 marks or more in mathematics (iv)student mathematics marks >= 50 and student English marks >= 40 a. i and ii b. i and iii c. ii and iii d. iii and iv 6.20 In a limited entry decision table the condition stub a. lists X or – corresponding to actions to be executed b. lists the conditions to be tested c. has Y or N or – entries d. lists the actions to be taken he fails” V. Rajaraman/IISc. Bangalore M6/V1/July 04/6 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions 6.21 In a limited entry decision table the condition entries a. list X or – corresponding to actions to be executed b. list the conditions to be tested c. have Y or N or – entries d. list the actions to be taken 6.22 In a limited entry decision table the action stub a. lists X or – corresponding to actions to be executed b. lists the conditions to be tested c. has Y or N or – entries d. lists the actions to be taken 6.23 In a limited entry decision table the action entries a. list X or – corresponding to actions to be executed b. list the conditions to be tested c. have Y or N or – entries d. list the actions to be taken 6.24 In a limited entry decision table the condition entries may be a. Y or N only b. Y, N or – c. A binary digit d. Any integer 6.25 In a limited entry decision table a—entry against a condition signifies that a. the outcome of testing the condition is irrelevant b. it is an important condition c. the condition should be tested d. the condition is a Boolean condition 6.26 A rule in a limited entry decision table is a a. row of the table consisting of condition entries b. row of the table consisting of action entries c. column of the table consisting of condition entries and the corresponding action entries V. Rajaraman/IISc. Bangalore M6/V1/July 04/7 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions d. columns of the tables consisting of conditions of the stub 6.27 The conditions in the condition stub of a limited entry decision table a. must be in sequential order b. must be in the order in which they are to be tested c. may be in any order d. must be in the order in which they are to be executed 6.28 The actions in the action stub of a limited entry decision table a. must be in sequential order b. must be in the order in which they are to be tested c. may be in any order d. must be in the order in which they are to be executed 6.29 A X against an action in an action row signifies that the a. action is not to be taken b. action is to be taken c. action is important d. action is not important 6.30 A—against an action in an action row signifies that the a. action is not to be taken b. action is to be taken c. action is important d. action is not important 6.31 An extended entry decision table has a. only Y, N or – entries b. entries which extend the condition c. questions asked extended into the condition entry part of the table d. only numerical entries 6.32 An extended entry decision table a. has no limited entry equivalent b. cannot be replaced by a table with only Y, or – entries c. may have Yes, No answers to conditions d. can always be converted to an equivalent limited entry decision tabl V. Rajaraman/IISc. Bangalore M6/V1/July 04/8 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions 6.33 An extended entry decision table is a. very difficult to understand b. quite concise compared to a limited entry decision table developed for the same task c. large compared to a limited entry table developed for the same task d. is not very often used 6.34 A mixed entry decision table a. may have some conditions with Y, N, or – entries b. may not have any Y, N, or – entry c. may have only non-numerical entries d. may mix numerical and non-numerical entries Given a decision table “test” shown below R1 C1 C2 Y N R2 N – R3 Y Y A1 A2 A3 X – X –– X – – X Decision table–“test” Answer the following questions: 6.35 Rule R1 is interpreted as follows: a. If C1 is TRUE and C2 is FALSE then perform action A2 b. If C1 is TRUE and C2 is FALSE then perform action A1 and then action A2 c. If C1 is TRUE and C2 is FALSE then perform action A3 and then action A1 d. If C1 is TRUE and C2 is FALSE then perform action A1 and then action A3 6.36 Rule R3 is interpreted as follows: V. Rajaraman/IISc. Bangalore M6/V1/July 04/9 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions a. If C1 is TRUE and C2 is TRUE then perform action A1 and A b. If C1 is TRUE or C2 is TRUE then perform action A3 c. If C1 is TRUE and C2 is TRUE then perform action A1 or A2 d. If C1 is TRUE and C2 is TRUE then perform action A3 6.37 Structured English equivalent of the decision table “test” are given below (i) if C1 TRUE then if C2 TRUE then do A3 else do A1 and A3 end if else do A2 end if (ii) if C1 FALSE then do A2 else if C2 TRUE then do A3 else do A1 and A3 end if end if (iii)if C2 TRUE then if C1 TRUE then do A3 else do A2 end if else do A1 and A3 end if (iv)if C2 FALSE then if C1 TRUE then do A1 and A3 V. Rajaraman/IISc. Bangalore M6/V1/July 04/10 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions else do A2 end if else do A3 end if Which of the following are correct? a. i and iii b. i and ii c. iii and iv d. ii and iv 6.38 Structured English equivalents of decision table “test” are given below. Pick the right one (i)if C1 TRUE and C2 FALSE then R=1 end if if C1 FALSE then R=2 end if if C1 TRUE and C2 TRUE then R=3 end if case (R) R=1; perform actions A1 and A3 R=2; perform action A2 R=3; perform action A3 end case (ii)if C1 TRUE and C2 FALSE then perform actions A1, A3 end if if C1 FALSE then perform action A2 end if if C1 TRUE and C2 TRUE then perform action A3 end if (iii)case (C1 TRUE and C2 FALSE) Rule R1 case (C1 FALSE) Rule R2 case (C1 TRUE and C2 TRUE) Rule R3 end case (iv)if C1 TRUE and C2 TRUE then do Rule R3 end if V. Rajaraman/IISc. Bangalore M6/V1/July 04/11 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions if C1 TRUE and C2 FALSE then do Rule R1 end if if C1 TRUE then do Rule R2 end if a. i and ii b. i and iii c. ii and iii d. iii and iv a. The Elementary Rule Decision Table equivalent of decision table “test” is C1 C2 Y N N N Y Y A1 A2 A3 X – X– – X – – X b.C1 Y C2 N N Y Y Y A1 A2 A3 X – X – X – – – X c. C1 C2 Y N N N N Y Y Y A1 A2 A3 X – – X X– – X – – – X V. Rajaraman/IISc. Bangalore M6/V1/July 04/12 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions d. C1 C2 N Y N N Y N Y Y A1 A2 A3 X – X – X – – – X – – X 6.39 The decision table “test” is a. ambiguous b. contradictory c. incomplete d. complete Answer the following referring to the decision table “test2” R1 C1 : x <= 50 C2 : x >= 70 N – R2 – N A1 A2 X – – X Decision Table: “test2” 6.40 Decision table “test2” is a. really incomplete b. complete c. apparently incomplete d. apparently complete 6.41 Decision table “test2” a. has a real ambiguity b. has an apparent ambiguity c. is logically correct V. Rajaraman/IISc. Bangalore M6/V1/July 04/13 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions d. is incomplete C1 C2 N – – N A1 A2 Y Y – DECISION TABLE “testing”– 6.42 Decision table “testing” can be made complete (i)by putting an ELSE rule (ii)is as it is complete and does not need any more rules (iii)by specifying actions when C1 = Y and C2 = Y (iv)by specifying actions when C1 = N and C2 = N a. (i), (ii) b. (i), (iii) c. (ii), (iii) d. (ii), (iv) 6.43 The C1 K-map equivalent of C1 decision table “test2” is a. C2 Y N A1 b. C2 Y Y N A1 A2 N A2 A1 Y N A2 A1 V. Rajaraman/IISc. Bangalore M6/V1/July 04/14 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions c. C2 C1 d. Y N C2 C1 Y Y N A2 N Y N A2 A1 A1,A2 A1 A2 6.44 following structured The decision English table equivalent statement of the is if then if then do else end if else end if do do C2 TRUE C1 A3 A2 TRUE A1 and A3 a. C1 C2 Y Y Y N N – A1 A2 A3 – – X – X – X – X b. C2 Y Y N V. Rajaraman/IISc. Bangalore M6/V1/July 04/15 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions C1 Y N N A1 A2 A3 – – X – X – X – X c. C1 C2 Y Y N Y – N A1 A2 A3 – – X – X – X – X d. C1 Y C2 N Y Y Y N A1 A2 A3 – – X – X – X – X 6.45 The decision table equivalent of the following structured English statement is if balance in account <=0 then{issue exception note to dept. and mark “stop future issues”} else if balance in account <min. balance then {issue item to dept. issue warning to dept.} V. Rajaraman/IISc. Bangalore M6/V1/July 04/16 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions else {issue item to dept.} end if end if C1=balance in account <=0; C2=balance in account < min. balance A1=issue exception note and mark “no future issues” A2=issue item to dept A3=issue warning to dept. a. C1 C2 Y – N Y N N A1 A2 A3 X – – – X X – X – b. C1 C2 Y N N Y N N Y Y A1 A2 A3 X – – – X X – X – – X – c. C1 C2 N – N Y N N A1 A2 A3 X – – – X X – X – V. Rajaraman/IISc. Bangalore M6/V1/July 04/17 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions d. C1 C2 Y N N Y Y N A1 A2 A3 X – – – X X – – X 6.46 The decision table given in answer (a) of question 9.4.3 is a. incomplete b. apparently ambiguous c. has contradictory specifications d. logically complete 6.47 The rule C1=Y, C2=Y in the decision table given in answer (a) of question 6.3.7 is e. logically impossible f. logically possible g. has no action specified h. has multiple actions specified 6.48 If min. balance > 0 then the rule C1=Y, C2= – in the decision table given in answer (a) of question 6.3.7 may be replaced by the rule i. C1=Y, C2=N j. C1=Y, C2=Y k. C1= –, C2=Y l. C1= –, C2=N 6.49 The actions of a decision table are mapped on a K-map shown be The boxes marked X denote impossible rules C1C2 C3 NN Y N A1 A1 NY A1 A2 YY A2 A2 YN V. Rajaraman/IISc. Bangalore M6/V1/July 04/18 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions The rule for action A1 may be represented by the following minimal Boolean expression a. C1.C2 + C1.C2.C3 b. C1.C2.C3 + C1.C3 c. C1.C3 + C2 d. C1.C3 + C2.C1 6.50 The following decision table may be replaced by its best equivalent shown below: C1 C2 C3 N N Y N N N N Y N N Y Y Y Y Y Y Y Y N Y N N N Y A1 A2 X – – X – X X – – X – X X X X X a. C1 C2 C3 N – Y N – N Y Y – Y N – A1 A2 X – – X – X X X b. C1 C2 C3 – – N Y – – N – Y Y N – A1 – – X X V. Rajaraman/IISc. Bangalore M6/V1/July 04/19 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions A2 X X – X c. C1 C2 C3 N – N – Y N Y Y – N – Y Y N – A1 A2 – X – X – X X – X X d. C1 C2 C3 Y – – N – N N – Y Y N – A1 – A2 – X X X X – X 6.51 The following decision table may be replaced by its best equivalent shown below: C1 C2 C3 N N Y N N N N Y N N Y Y Y Y Y Y Y Y N Y N N N Y A1 A2 X – – X – X X – – X – X X X X X a. C1 C2 C3 N – Y N – N Y Y – Y N – A1 A2 X – – X – X X X V. Rajaraman/IISc. Bangalore M6/V1/July 04/20 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions b. C1 C2 C3 – – N Y – – N – Y Y N – A1 A2 – X – X X – X X c. C1 C2 C3 N – N – Y N Y Y – N – Y Y N – A1 A2 – X – X – X X – X X d. C1 C2 C3 Y – – N – N N – Y Y N – A1 – A2 – X X X X – X 6.52 C1 C2 C3 N N Y N N N N Y N N Y Y Y Y Y Y Y Y N Y N N N Y A1 X – – X – – X X V. Rajaraman/IISc. Bangalore M6/V1/July 04/21 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions A2 – X X – X X X X a. C1 C2 C3 N – Y N – N Y Y – Y N – A1 A2 X – – X – X X X b. C1 C2 C3 – – N Y – – N – Y Y N – A1 A2 – X – X X – X X c. C1 C2 C3 N – N – Y N Y Y – N – Y Y N – A1 A2 – X – X – X X – X X d. C1 C2 C3 Y – – N – N N – Y Y N – V. Rajaraman/IISc. Bangalore M6/V1/July 04/22 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions A1 – A2 – X X X X – X 6.53 Given the decision table “test 3”answer the following questions: R1 x>=20 x<=30 y>=x Y Y Y R2 Y Y N R3 Y N Y R4 Y N N N Y Y R5 N Y N R6 N N Y R7 N N N R8 A1 A2 A3 X – – X – – X – – X – – – X – – X – – – X – – X a. Rules R7, R8 are logically impossible b. Rules R5, R6 are logically impossible c. Rules R3, R4 are logically impossible d. Rules R1, R2 are logically impossible 6.54 Pick the correct equivalent of “test 3” a. C1 Y N b. C1 C2 A1 A2 X – – X A1 A2 A3 X – – – X – – – X Y – N Y N N c. C1 C3 C2 Y N – Y Y – N N – N Y – d. C1 C2 Y – N Y N N A1 A2 X – X – – X – X A1 A2 X – – X – – V. Rajaraman/IISc. Bangalore M6/V1/July 04/23 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions A3 – – X 6.55 The decision table “test 3“ is a. Incomplete b. Ambiguous c. Incorrect d. .has redundancies 6.56 The decision table equivalent of the following Boolean expression is A1= C3.C1.C2 + C2.C3.C1 A2= C1.C3 + C3.C2.C1+ C1.C2.C3 a. C1 C2 C3 Y Y N Y N Y Y – Y N N Y N N N A1 A2 X – X – – X – X – X b. C1 C2 C3 Y Y Y Y N Y Y N – N N Y N N N A1 A2 X – X – – X – X – X V. Rajaraman/IISc. Bangalore M6/V1/July 04/24 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions c. C2 C1 C3 Y Y N Y N Y Y – Y N N Y N N N A1 A2 X – X – – X – X – X d. C1 C2 C3 Y Y N Y N Y Y – Y N N Y N N N A1 A2 6.57 X X X X – X – X – X A decision table “test 4” is given below C1 C2 C3 C4 Y Y Y – Y – Y Y N N Y – – Y – Y – – Y N N N N – Y N N – N – N N A1 A2 A3 ? X – – – X – – – X – – – – X – – – X – – – – X – – – X – – – – I where I indicates impossible rule The contradictory rules are a. YYYY, NYYY, NNYY V. Rajaraman/IISc. Bangalore M6/V1/July 04/25 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions b. YYYN, NYYN, NNYN c. YYYY, YYYN, NNYN d. There are no contradictory rules 6.58 a. A1, A3 In “test 4” the contradictory actions are: b. A1, A2 c. A2, A3 d. A2, I 6.59 e. NYNN f. NYYN In “test 4” missing rule is: g. YYNN h. 6.60 YNYN If in “test 4” the rules where the contradictory actions or unspecified actions are present, the action is replaced by A2 only, the reduced decision table using impossible rules also for reduction is: a. C1 C2 C3 C4 – N Y Y – – Y N – Y – Y – Y Y – – – N N N N N – A1 A2 A3 X – – – X – – X – – X – – – X – – X b. C1 N Y – – – N N V. Rajaraman/IISc. Bangalore M6/V1/July 04/26 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions C2 C3 C4 N Y Y N Y Y Y N Y Y Y – – Y N – N N N N – A1 A2 A3 X – – X – – – X – – X – – X – – – X – – X c. C1 C2 C3 C4 – N Y Y – – Y N – Y – Y – – N N N N N – A1 A2 A3 X – – – X – – X – – – X – – X d . C2 C3 C4 N Y Y Y – – – Y N N N – A1 A2 A3 X – – – X – – X – – – X 6.61 Decision Trees are preferred when a. Too many conditions need to be tested b. Sequencing of testing conditions is important c. d. When there are many loops to be performed When too many actions are to be taken M6/V1/July 04/27 V. Rajaraman/IISc. Bangalore System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions 6.62 Decision Tables are preferred when a. Too many conditions need to be tested b. Sequencing of testing conditions is important c. When there are many loops to be performed d. When too many actions are to be taken 6.63 Structured English is preferred when a. any conditions need to be tested b. Sequencing of testing conditions is important c. When there are many loops to be performed d. When too many actions are to be taken 6.64 The objective of using decision trees is to a. Expand a DFD so that a user can understand it b. To specify sequence of conditions to be tested and actions to be taken c. Describe a computational procedure that can be easily understood by a person d. 6.65 Use it as a tool in decision support system Decision trees are superior to decision tables when a. The number of conditions to be tested is very large b. When sequence of testing conditions is not particularly important c. When sequence of testing conditions is not particularly important d. 6.66 When a large number of actions are to be specified Logical correctness of a specifications can be systematically checked by a. Using decision trees b. Using structured English c. Using DFD’s d. 6.67 Using decision tables The decision tree equivalent of the following structured English is if C2 then if C1 then A3 V. Rajaraman/IISc. Bangalore M6/V1/July 04/28 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions else A2 endif else A1,A3 endif A3 Y Y C2 N a. C1 N A2 A1, A3 Y b. Y C1 A3 C2 N C1 N N Y A2 A1 A3 Y Y c. C2 N V. Rajaraman/IISc. Bangalore A3 C1 N A2 A1, A3 M6/V1/July 04/29 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions A2 C1 d. A3 C2 A1A3 6.68 Decision tables are better then Decision trees when a. Conditions are to be isolated from actions in a word statement b. Condition sequences are to be found from a word statement c. Logical correctness of a word statement is to be established d. Large number of actions is to be performed 6.69 The decision table equivalent of the Decision tree of choice (a) of 6.5.7 is a. C2 C1 A1 A2 A3 Y N X X N Y X - N N X X - Y Y X b. C1 C2 A1 A2 A3 c. C1 C2 A1 A2 A3 Y Y X Y N X N Y X X M6/V1/July 04/30 Y Y X Y N X - N X X V. Rajaraman/IISc. Bangalore System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions d. C1 C2 A1 A2 A3 Y Y X Y N X N Y X X Error V. Rajaraman/IISc. Bangalore M6/V1/July 04/31 System Analysis and Design/Structured Systems Analysis and Design Multiple Choice Questions Key to Objective Questions 6.1 6.7 6.13 6.19 6.25 6.31 6.37 6.43 6.49 6.55 6.61 6.67 b d b c a c b b b b a a 6.2 6.8 6.14 6.20 6.26 6.32 6.38 6.44 6.50 6.56 6.62 6.68 c d a c c a a c c d c b 6.3 6.9 6.15 6.21 6.27 6.33 6.39 6.45 6.51 6.57 6.63 6.69 c b c b c c a c a b b c 6.4 d 6.10 6.16 6.22 6.28 6.34 6.40 6.46 6.52 6.58 6.64 b d a d a b b d b d 6.5 c 6.11 6.17 6.23 6.29 6.6 a a 6.12 a a b 6.18 6.24 6.30 6.36 c d a c c 6.42 6.48 6.54 6.60 6.66 d d a b a d c d b a 6.35 d 6.41 6.47 6.53 6.59 6.65 V. Rajaraman/IISc. Bangalore M6/V1/July 04/32 MODULE 3 PROCESS SPECIFICATION WORKED EXAMPLES 6.1 A bank has the following policy on deposits: On deposits of Rs. 5000 and above and for three years or above the interest is 12%. On the same deposit for a period less than 3 years it is 10%. On deposits below Rs. 5000 the interest is 8% regardless of the period of deposit. Write the above process using (i) Structured English (ii) A decision table (i) for each deposit do if deposit >=5000 then if period >= 3 years then interest =12% else interest =10% end if else interest =8% end if end for (ii) Deposit >= 5000 Y Y Period >= 3 years Y N Interest 12 10 N – 8 6.2 An organization maintains an employee file in which each record has following data: { Employee No., employee name, employee gross pay}. It has been decided to increase the pay as per the following formula: For pay of Rs. 1000 or less increase 15%. For pay of more than Rs. 1000 but up to Rs. 2500 increase 10%. For pay over Rs. 2500 increase 5%. (i) Write a structured English processing rule corresponding to the above policies. (ii) Express the policies as a decision table. (i) While employee records left in file do Read Number, name , gross pay if gross pay <=1000 then increase = gross pay * 0.15 else if gross pay <= 2500 then increase = gross pay * 0.1 else increase = gross pay * .05 end if end if Gross pay = gross pay + increase Write Number, name, gross pay end while (ii) While employee records left in file do Read Number, name, gross pay do Table Gross pay <= 1000 Gross pay <= 2500 Percent increase Y – 15 N Y 10 N N 5 end table Gross pay = gross pay*(1+percent increase/100) Write Number, name, gross pay end while 6.3 An offshore gas company bills its customers according to the following rate schedule: First 500 litres Rs. 10 (flat) Next 300 litres Rs. 1.25 per 100 litres Next 30,000 litres Rs. 1.20 per 100 litres Next 100,000 litres Rs. 1.10 per 100 litres Above this Re. 1.00 per 100 litres The input record has customer identification, name and address, meter reading, past and present. Write a structured English procedure to obtain a bill for the customer. While record left in customer file do Read customer id, name, address, past meter reading, new meter reading Consumption = new meter reading – old meter reading if consumption <= 500 then charge =10 else if consumption <=800 then charge = 10 + (consumption – 500) * 0.0125 else if consumption <= 30800 then charge = 13.75 +(consumption – 800) * 0.012 else if consumption <=130800 then charge = 373.75 + (consumption – 30800) * 0.011 else charge = 1473.75 + (consumption – 130800) * 0.01 end if end if end if end if write customer id, name, address, past meter reading, new meter reading, consumption, charge end while 6.4 Refer to users requirements stated in exercise 6.4 of Question bank. Develop the processing rules in structured English for the stores process shown in Fig. 5.8. for each customer requisition do if (qty. requested < qty. in stock ) then { qty. issued = qty. requested. qty. in stock = qty. in stock – qty. issued send( customer id , qty. issued ) to accounts process} end if if (qty. in stock <= reorder level) then send reorder request to purchase. end if if (qty. requested = qty. in stock) then { qty. issued = qty. requested qty in stock = 0; send (customer id, qty issued) to accounts send reorder request to purchase } end if if (qty. requested > qty. in stock) then if (partial qty. acceptable) then { qty issued = qty. requested qty in stock = 0; send (customer id , qty issued) to accounts send reorder request to purchase. write (customer id, (qty. requested – qty. issued )) in file} else {qty. issued = 0; send reorder request to purchase write (customer id, qty requested) in back order file } end if end if end for for each item (with specified item code and qty. accepted note) received from inspection do qty. in stock ( item code) = qty. in stock ( item code) + qty. accepted end for 6.5 Refer to Exercise 6.4 in Question Bank. Develop the processing rules in structured English for the purchase process of Fig. 5.9. for each discrepancy note received from the receiving office do { intimate specified vendor enter discrepancy in the discrepancy file } end for for each goods rejected note received from the inspection office do { intimate specified vendor enter rejected items note in items rejected file } end for for each reorder advice or new requisition received for an item from stores do { Refer to item file to find vendor details and order qty. send order to specified vendor enter order in order file } end for 6.6. State the processing rules in structured English for the various processes in the data flow diagram for the hostel DFD described in Module 5 Mess Process for each absence note do Read student charge record from student charge file (using student number as key) Add absence days to absence field Write student charge record in student charge file end for for each extras note do Read student charge record Append extras code and quantity to record Write student charge in student charge file end for Billing Process While student charge records left in student charge file do Read student charge record from student charge file No. of days to charge = no. of days in a month – no. of days absent. Monthly charge = no. of days to charge * daily rate Total extras charge = 0 for each extra item do extras charge (code) = extra qty. * charge (code) end for Add extra charge to total extra charge Amount to be billed = no. of days to charge * daily rate + total extras charge Student bill record = student charge record + daily rate, no. of days charged, monthly charge, extras charge (code) , total extras charge , grand total to pay Write student bill record end while (Note: It is assumed that the daily rate, no. of days in a month and extras charge for each extras code is stored in the billing process as an internal data record.) Payment Reconciliation Process for each student Bill record do Store student Bill record in Bill file end for for each payment received do Read bill record of student from Bill file if amount paid = grand total to pay then balance due = 0 else balance due = (grand total to pay – amount paid) Store bill record in unpaid bill file end if end for On payment due date, (due date + 10), (due date + 20) do While records left in unpaid Bill file do if balance due > 0 then send overdue notice, end if end while On (payment due date + 30) do While records left in unpaid bill file do if balance due > 0 then send message to warden end if end while 6.7 The policy followed by a company to process customer orders is given by the following rules: (i) If the customer order <= that in stock and his credit is OK, supply his requirement. (ii) If the customer credit is not OK do not supply. Send him an intimation. (iii) If the customer credit is OK but items in stock are less than his order, supply what is in stock. Enter balance to be sent in back-order file. Obtain a decision table for above policy Order <= stock Credit OK Supply order Credit not OK Do not supply Supply stock Enter (order – stock) In back Order file Y Y X – – – Y N – X – – N Y – – X X N N – X – – Observe that the last rule is not specified in the statement of rules. This has been added to complete the table. 6.8 Obtain a decision table to decide whether on a given date an employee in an organization has completed one year’s service or not. Let date of joining be DJ/MJ/YJ (Day/Month/Year) Let today’s date be DT/MT/YT (Day/Month/Year) If (YT – YJ) If (MT – MJ) If (DT – DJ) >1 – – =1 >0 – Yes =1 =0 >= 0 Yes E L S E No One year’s service Yes 6.9 Obtain a decision table corresponding to the structured English procedure given in worked example 6.4of decision table for each customer requisition do decision table decision table qty requested < qty in stock qty requested = qty in stock qty requested > qty in stock (qty in stock – qty requested) <= reorder level Partial order OK? qty issued = qty requested qty issued = qty in stock qty in stock = (qty in stock – qty issued) qty in stock = 0 Send customer id,qty issued to account process qty issued = 0 Send reorder request to purchase process Write (customer id, qty requested – qty issued) in back order file Write (customer id, qty requested) in back order file Y – – Y – X – X – X – X – – – Y – – – – – Y – N – – Y – Y – X – X X – X X – Y – – N – X – X – X – – – – X – – – – – X – X – – X X X – – – X for each item with specified item code and qty accepted note received from inspection do qty in stock ( item code) = qty in stock ( item code) + qty. accepted end for 6.10 Obtain a decision table for an automatic stamp vending machine with the following specifications: (i) To dispense 20, 15, 10, 5 paise stamps (ii) To accept 50, 25, 10, 5 paise coins (iii) Do not return change if it is necessary to return more than two coins of the same denomination. In such a case return the customer’s coin and turn on “no change” light. The machine should dispense a stamp, the right amount of change tendered, no stamp available, no change available, etc. Table 1: Select Stamp Amount tendered Stamp requested available? Amount insufficient Return amount ‘No stamp’ light on Dispense stamp Go to Table 2 Stop < Stamp cost = Stamp cost > Stamp cost – Y Y X X – – – X – – – X – X – – – X X – – N – X X – – X Table 2: Make Change Amount tendered Stamp cost 25 ps. Available? 10 ps. Available? 5 ps. Available No of 25 ps. Returned No of 10 ps. Returned No of 5 ps. Returned Dispense stamp No. change light on Return amount Stop 50 20 >=1 – >=1 1 – 1 X – – X 50 20 – >=2 >=2 – 2 2 X – – X 50 15 >=1 >=1 – 1 1 – X – – X 50 15 >=1 – >=2 1 – 2 X – – X 50 50 50 25 25 10 5 5 20 15 >=1 >=1 >=1 – – >=1 >= 2 >=1 – >=1 >=1 – >=2 >=1 – 1 1 1 X – – X 1 2 – X – – X 1 1 2 X – – X – – 1 X – – X – 1 – X – – X 25 15 – – >=2 – – 2 X – – X 25 10 – >=1 >=1 – 1 1 X – – X 25 5 – >=2 – – 2 – X – – X 25 5 – >=1 >=2 – 1 2 X – – X 10 5 – – >=1 – – 1 X – – X E L S E – – – – X X X 6.11 Obtain the decision table to be used by a person to enter the office of a manager. The conditions to be checked are: Door open? Ring sign on? Enter sign on? Door locked? The actions a person takes are: Ring bell, enter, wait, leave. After obtaining the decision table, ensure that it has no logical errors and that it is in minimal form. C1: Door open? C2: Ring sign on? C3: Enter sign on? C4: Door locked? Ring bell Enter Wait Leave R1 N N N N – – – X A1 R2 N N N Y – – – X A1 R3 N N Y N R4 N N Y Y R5 N Y N N R6 N Y N Y R7 N Y Y N X X – – A4 R8 N Y Y Y – – – X A1 R9 Y N N N – – – X A1 R10 R11 R12 R13 R14 R15 Y Y Y Y Y Y N N N Y Y Y N Y Y N N Y Y N Y N Y N ? ? ? ? – X – – A2 ? ? ? ? X – X – A3 ? ? ? ? X X – – A4 R16 Y Y Y Y ? ? ? ? – – X – X – – – – – X – – X – X A2 A1 A3 A1 Rules R10, R12, R14, R16 have conditions “Door open” and “Door locked” simultaneously true. These rules are thus impossible. Observe these are four distinct actions. The table is mapped on a K-map (Fig. S6.11) NN NY YY YN NN NY A1 A1 A1 A2 A3 A1 A1 A4 A3 A1 YY YN A4 A2 Fig S6.11 k-map for solution 6.11 Decision table with redundancies removed Decision Table with removed (Condition C1 redundant) C2: Ring on? C3: Enter on? C4: Door locked? Ring bell Enter Wait Leave – – Y – – – X A1 N N – – – – X A1 N Y N – X – – A2 Y N N X – X – A3 Y Y N X X – – A4 6.12 In installment buying where payments are made on a weekly basis the action taken on “an account goes into arrears” is a crucial aspect of the operation. Table S6.12 illustrates a simplified arrears procedure. Answer the following questions: (i) Are all elementary rules logically possible? (ii) Is the table complete? (iii) Has the table any ambiguities? (iv) Are there logical errors in the table? If yes, point them out. (v) Use reasonable assumptions and correct the table. (vi) Remove any redundancies in the corrected table (Table S6.12). Table S6.12 A Simplified Arrears Procedure C1: This week’s cash > weekly rate C2: This week’s cash > 0 C3: Any cash during last month C4: Arrears . >2 * weekly rate C5: Arrears >4 * weekly rate Send arrears letter A Send arrears letter B Send arrears letter C Send arrears letter D Notify accounts Take special action Y – – – N – – – – X – Y – – – Y X – – – – – N Y – Y N – X – – – – N Y – N – – – – – X – – – N – N – – X – – – – – N – Y – – – – – X – N Y N – – – – – X – – N Y Y N – – – X – – – N Y – Y – – – – – X A1 A2 A3 A1 A4 A5 A1 A6 A5 K-map for the decision table C1C2 C3C4 C1C2 NN NY YY YN NN NY A4 A1 A4 A4 A3 A4 A6 A3 A1 A1 C5 = N YY A1 A4 A1 A4 A1 A1 YN C3C4 NN NY YY YN NN NY YY YN C5=Y Fig S6.12 A5 A5 A5 ? A2 A5 A2 Assume weekly rate >0 Impossible rule: C1 = Y Impossible rule: C4 = N C2 = N C5 = Y K- map (Fig. S 9.10) has incompleteness marked by ? C1 N C2 Y C3 Y C4 Y C5 Y Logically contradictory rules C1 N N Y Y Y C2 Y Y Y Y Y C3 N N N N N C4 N Y N Y Y C5 N N N N Y If in all these cases we take action to notify accounts (Action A1) then the K- map becomes the one shown in Fig. S9.11 A1 = C3. C4 + C1 . C5 + C2 . C3 . C5 + C1 . C3 + C1 . C2 . C3 . C5 A2 = C1 . C3 . C5 A3 = C1 . C2 . C3 . C4 . C5 A4 = C2 . C3 . C5 A5 = C1 . C3 . C5 + C2 . C4 . C5 A6 = C2 . C3 . C4 . C5 NN NY YY YN C1C2 C3C4 NN NY A4 A4 A6 A1 A1 A1 A3 A1 A1 A1 A1 A1 YY YN C5=N Fig S.6.13 C1C2 C3C4 NN NY NN NY YY YN A5 A5 A5 A1 A1 A2 YY YN C5=Y FigS6.14 C1: This week’s cash > weekly rate C2: This week’s cash > 0 C3: Any cash during last month C4: Arrears . > 2 * weekly rate C5: Arrears > 4 * weekly rate Send arrears letter A Send arrears letter B Send arrears letter C Send arrears letter D Notify accounts Take special action – – Y N – – – – – X – Y – – – N – – – – X – – Y N – N – – – – X – Y – N – – – – – – X – N Y Y – Y – – – – X – Y – Y – Y X – – – – – N Y Y Y N – X – – – – – N N – N – – X – – – N – N – Y – – – – – X – N – Y Y – – – – – X – N Y Y N – – – X – – 6.13 The policy followed by a company to process customer orders is given by the following rules: (i) If the customer order ≤ that in stock and his credit is OK, supply his requirement. (ii) If the customer credit is not OK do not supply. Send him an intimation. (iii) If the customer credit is OK but items in stock are less than his order, supply what is in stock. Enter the balance to be sent in a back-order file. Obtain a decision table for the above policy. C1 : Customer order <= Item in the stock C2 : Customer credit ok Y C2 Y C1 N C2 N Y N Do not supply send intimation Supply what is in the stock. Enter balance in the back order file Do not supply send intimation Supply requirement 6.14 Obtain a decision tree to be used by a person to enter the office of a manager. The conditions to be checked are: Door open? Ring sign on? Enter sign on? Door locked? The actions a person takes are: Ring bell, enter, wait, leave. After obtaining the decision table, ensure that it has no logical errors and that it is in minimal form. C1 : Door open C2 : Ring sign on C3 : Enter sign on C4 : Door locked Y C3 Y Y C1 N N C4 Y C2 N C3 N Y N Ring bell and wait Enter Ring bell and enter Leave Leave Observe that C1 is not relevant and not clear in the Decision tree 6.15 A University has the following rules for a student to qualify for a degree with Physics as the main subject and Mathematics as the subsidiary subject: (i) he should get 50% or more marks in Physics and 40% or more marks in Mathematics. (ii) If he gets < 50% marks in Physics, he should get 50% or more marks in Mathematics. He should, however, get at least 40% marks in Physics. (iii) If he gets < 40% marks in Mathematics and 60% or more marks in Physics, he is allowed to reappear in Mathematics examination only so that he can qualify. Obtain a decision tree for the above problem Pass Y C2 Y N C1 Y C3 N Fail C4 Y N C5 Y N Appear in mathematics Fail Pass Fail N >=50 >=50 C2 >=40 < 40 Pass Pass Repeat math C1 >=40 >=60 < 40 Fail (An incorrect tree. This is not correct as rule ii not correctly interpreted) C1 : Physics Marks C2 : Math marks C3 : Math marks >=50% CORRECTED DECISION TREE Pass Fail Pass C3 Fail >=60 C2 <40 Pass Repeat math Fail >=50 C1 >=40 C2 6.16 You want to go to Delhi from Bangalore. There are three flights per day; early morning, late morning and evening. You would like to go on 21.4.04 by early morning flight. If it is not available you will take the late morning flight or evening flight in that order. If neither is available you are willing to take any flight on 22.4.04 but prefer early and late morning flights., Obtain a decision tree for this word statement. Is decision table suitable for this problem? If not why? Book ticket C1 N Y Book ticket C2 N Y Book ticket C3 N Y Book ticket C4 N Y Book ticket C5 N Y Book ticket C6 N Y No ticket available C1 : Is ticket available on early morning flight on 21/4/04 C2 : Is ticket available on late morning flight on 21/4/04 C3 : Is ticket available on evening flight on 21/4/04 C4 : Is ticket available on early morning flight on 22/4/04 C5 : Is ticket available on late morning flight on 22/4/04 C6 : Is ticket available on evening flight on 22/4/04 System Analysis and Design / Structured Systems Analysis and Design Question Bank QUESTION BANK – MODULE 6 6.1 A bank has the following policy on deposits: On deposits of Rs.5000 and above and for three years or above the interest is 12%. On the same deposit for a period less than 3 years it is 10%. On deposits below Rs.5000 the interest is 8% regardless of the period of deposit. Write the above process using i. Structured English ii. A decision table 6.2 An organization maintains an employee file in which each record has the following data: (Employee No., employee name, employee gross pay). It has been decided to increase the pay as per the following formula: For pay of Rs.1000 or less increase 15% For pay of more than Rs.1000 but up to Rs.2500 increase 10%. For pay over Rs.2500 increase 5%. i. Write a structured English processing rule corresponding to the above policies ii. Express the policies as a decision table. 6.3 An offshore gas company bills its customer according to the following rate schedule: First 500 litres Rs. 10 (flat) Next 300 litres Rs.1.25 per 100 litres Next 30,000 litres Rs.1.20 per 100 litres Next 100,000 litres Rs.1.10 per 100 litres Above this Rs.1.00 per 100 litres. The input record has customer identification, name and address, meter reading, past and present. Write a structured English procedure to obtain a bill for the customer. 6.4 A narrative of a user’s requirements in an organization is given below: "Our company receives a number of items from many vendors and they are received at the receiving office. As we receive over 1000 items a day it is now virtually impossible for the receiving office to check whether the vendor has supplied items against an order, or sent a wrong item and inform the purchase office. We are also not able to find out if there are excesses or deficiencies in delivery and whether the vendor adhered to the delivery schedule as per the order. The items received at the receiving office are sent for physical inspection. The physical inspection consists of checking whether the quantities stated in the delivery note agree with the physical count, whether the item is the correct one ordered, and a check on the quality of item. We would like to keep a record of rejections due to bad quality, incorrect items, excess/deficient supply etc., determined during inspection. This will enable us to assess vendors' reliability to guide us in placing orders in the future, besides keeping track of supplies. Items cleared by the inspection office are taken into the inventory by the stores office which keeps a ledger of items stocked and quantity available of each item. Customers send requisitions to the stores. The stores fulfill the requests based on availability and update the ledger. Currently we are not able to meet some of our customers' requests. We would like to incorporate automatic reordering by V. Rajaraman/IISc. Bangalore M6/V1/July 04/1 System Analysis and Design / Structured Systems Analysis and Design Question Bank 6.5 6.6 6.7 6.8 6.9 our purchase office if the inventory level of an item is low. We would also like to keep track of unfulfilled requests and meet them when items reach the store. Currently we are not able to pay our vendors promptly due to delays in payment order reaching our accounts office. We would like to rectify this. We would also like to bill our customers promptly and keep track of customers' payments" Develop the processing rules in structured English for the office receiving the goods specified in the user’s requirements. Develop the processing rules in Structured English for the inspection process of the user’s requirements stated in Exercise 6.4 Develop the processing rules in Structured English for the purchase process of the user’s requirements stated in Exercise 6.4. Develop the processing rules in Structured English for the accounting process stated in Exercise 6.4 Develop the processing rules in Structured English for the stores process stated in Exercise 6.4 The policy followed by a company to process customer orders is given by the following rules: (i) If the customer order ≤ that in stock and his credit is OK, supply his requirement. (ii) If the customer credit is not OK do not supply. Send him an intimation. (iii) If the customer credit is OK but items in stock are less than his order, supply what is in stock. Enter the balance to be sent in a back-order file. Obtain a decision table for the above policy. V. Rajaraman/IISc. Bangalore M6/V1/July 04/2 System Analysis and Design / Structured Systems Analysis and Design Question Bank 6.10 Obtain a decision table to decide whether on a given date an employee in an organization has completed one year's service or not. 6.11 Obtain a decision table for an automatic stamps vending machine with the following specifications: (i) To dispense 20, 15, 10, 5 paise stamps (ii) To accept 50, 25, 10, 5 paise coins (iii) Do not return change if it is necessary to return more than two coins of the same denomination. In such a case return the customer's coin and turn on "no change" light. The machine should dispense a stamp, the right amount of change, no stamp available, no change available signals etc. 6.12 Obtain a decision table to be used by a person to enter the office of a manager. The conditions to be checked are: Door open? Ring sign on? Enter sign on? Door locked? The actions a person takes are: Ring bell, enter, wait, leave. After obtaining the decision table, ensure that it has no logical errors and that it is in minimal form. 6.13 A University has the following rules for a student to qualify for a degree with Physics as the main subject and Mathematics as the subsidiary subject: (i) he should get 50% or more marks in Physics and 40% or more marks in Mathematics. (ii) If he gets < 50% marks in Physics, he should get 50% or more marks in Mathematics. He should, however, get at least 40% marks in Physics. (iii) If he gets < 40% marks in Mathematics and 60% or more marks in Physics, he is allowed to reappear in Mathematics examination only so that he can qualify. (a) obtain an EEDT for the rules (b) obtain an LEDT for the rules check the logical correctness of the decision table 6.14 In instalment buying where payments are make on a weekly basis the action taken on "an account goes into arrears" is a crucial aspect of the operaiton. Table P6.14 illustrates a simplified arrears procedure. Answer the following questions: (i) Are all elementary rules logically possible? (ii) Is the table complete? (iii) Has the table any ambiguities? (iv) Are there logical errors in the table? If yes, point them out. (v) Use reasonable assumptions and correct the table. (vi) Remove any redundancies in the corrected table (Table 6.) 6.15 Obtain a decision tree for Exercise 6.9. 6.16 Obtain a decision tree for exercise 6.13. Is it possible to find out missing rules if any in a decision tree representation. 6.17 Obtain a decision tree for Exercise 6.12. V. Rajaraman/IISc. Bangalore M6/V1/July 04/3 System Analysis and Design / Structured Systems Analysis and Design Question Bank 6.18 Explain in what types of problems you will use a decision tree approach rather than a decision table approach. 6.19 You want to go to Delhi from Bangalore. There are three flights per day; early morning, late morning and evening. You would like to go on 21.4.04 by early morning flight. If it is not available you will take the late morning flight. If neither is available you are willing to take any flight on 22.4.04 but prefer early and late morning flights., Obtain a decision tree for this word statement. Is decisiont able suitable for this problem? If not why? 6.20 Explain in what types of problemsyou will prefer Structured English process specification rather than decision tree. Table P.6.14 A simplified Arrears Procedure C1: This week's cash > weekly Y Y N N − − − − − rate C2: This week's cash > 0 Y Y N N N − − − − C3: Any cash during last month − N N Y Y Y − − − C4: Arrears > 2 * weekly rate Y N N Y − − − − − C5: Arrears > 4 * weekly rate N Y N N Y N Y − − Send arrears letter A Send arrears letter B Send arrears letter C Send arrears letter D Notify accounts Take special action − − − − X − A1 X − − − − − A2 − X − − − − A3 − − − − X − A1 − − X − − − A4 − − − − − X A5 − − − − X − A1 − − − X − − A6 − − − − − X A5 V. Rajaraman/IISc. Bangalore M6/V1/July 04/4 System Analysis and Design / Structured Systems Analysis and Design Pointers References 1. V.Rajaraman, “Analysis and Design of Information Systems”, 2nd Edition, Prentice Hall of India, New Delhi, 2002. Most of the material in this module is based on Chapter 8 and 9 of the above book. The book is perhaps the only one which has extensive discussion on error detection in Decision Tables. 2. K.E. Kendall and J.E.Kendall, “Systems Analysis and Design”, 5th Edition, Pearson Education Asia, Delhi, 2003. Has a brief discussion of structured English, Decision Tables and Decision Trees (pages 353 to 369). Website www.prenhall.com/kendall has a lot of support material and case study for students. 3. J.A.Hoffer, J.F.George, J.S.Velacich, “Modern Systems Analysis and Design”, Third Edition, Pearson Education Asia, 2002. Chapter 7 (pages 282 to 303) cover the topics in this module. The book has a number of interesting case studies and a good problem set. The web site http://prenhall.com/hoffer has material to assist students who use this text book. 4. E.Yourdon “Modern Structured Analysis”, Prentice Hall of India, 1996. Chapter 11 (pages 203 to 232) describes structured English and Decision Tables. There is a larger set of exercises at the end of the chapter. V. Rajaraman/IISc. Bangalore M6/V1/July 04/1 SUMMARY OF MODULE 6 1. 2. 3. 4. 5. 6. Procedures are used to transform input data into processed results. Procedure can be described in natural English. Such a description is often ambiguous due to impreciseness of natural English. Structured English attempts to describe verbal statements made in natural English more precisely. Precision is obtained by using ideas of logic and block structuring as in programming languages. Decision tables are more appropriate when a large number of conditions are to be checked in arriving at a set of actions. In structured English a number of key words are used for representing commonly used operations. Some important keywords are; search, retrieve, if, then, else, do, case, while, for. The important control structures used to describe a process are: Selection structure (using if then else or case), loop structure (using for, while and repeat unitl). Decision tables specify actions to be performed for each combination of results obtained by testing a set of conditions relevant in a problem. Decision tables are used for communicating and documenting complex decision procedures. In order to obtain a decision table from a word statement, we first isolate in each sentence a part which specifies the conditions and another part which specifies the actions to be performed, based on the result of testing the conditions. Conditions are then grouped in one or more table and the rules are formulated. It is not advisable to have more than four or five conditions per decision table. If there are many conditions they are grouped and a set of tables are formulated and linked. Limited Entry Decision Tables (LEDT) use only Y or N answers to conditions. In Extended Entry Decision Tables (EEDT) conditions are formed by combining the statement in the condition stub with that in the condition entry part of the decision table. EEDTs are more concise. 7. 8. 9. 10. 11. 12. 13. 14. A decision table is said to be complete if it has all possible distinct elementary rules. If any rule is missing it is incomplete. If no values can be assigned to the condition variables leading to the missing rules then the decision table is said to be apparently incomplete. Otherwise it is really incomplete. If an elementary rule has more than one action specified, then the decision table is said to be ambiguous. If the elementary rule is logically impossible, then the ambiguity is apparent; otherwise, it is real. A decision table with real ambiguity or incompleteness has a logical error which should be corrected. Incompleteness and ambiguity are easily specified by using a two-dimensional diagram onto which a decision table is mapped. The diagram is called a Karnaugh may (K-map). K-maps are also useful to detect redundant rules. Using basic ideas of Boolean algebra and K-maps, unnecessary conditions and unnecessary rules are eliminated. The number of conditions to be tested in each rule can also be minimized by using K-maps. Pre-processors are available to automatically convert decision tables to program in a programming language. Decision trees are used when sequencing of conditions is important and conditions are to be tested in order of their priority. Structures English is appropriate when a problem has complex actions and many loops. Decision tables are appropriate when there are a large number of conditions to be tested and the logic is complex. Decisiion trees ae preferred when sequencing of conditions is important. 15. 16. 17. 18. 19. 20. 21. 22. 23. QUESTION BANK – MODULE 6 6.1 A bank has the following policy on deposits: On deposits of Rs.5000 and above and for three years or above the interest is 12%. On the same deposit for a period less than 3 years it is 10%. On deposits below Rs.5000 the interest is 8% regardless of the period of deposit. Write the above process using i. Structured English ii. A decision table An organization maintains an employee file in which each record has the following data: (Employee No., employee name, employee gross pay). It has been decided to increase the pay as per the following formula: For pay of Rs.1000 or less increase 15% For pay of more than Rs.1000 but up to Rs.2500 increase 10%. For pay over Rs.2500 increase 5%. i. Write a structured English processing rule corresponding to the above policies ii. Express the policies as a decision table. An offshore gas company bills its customer according to the following rate schedule: First 500 litres Rs. 10 (flat) Next 300 litres Rs.1.25 per 100 litres Next 30,000 litres Rs.1.20 per 100 litres Next 100,000 litres Rs.1.10 per 100 litres Above this Rs.1.00 per 100 litres. The input record has customer identification, name and address, meter reading, past and present. Write a structured English procedure to obtain a bill for the customer. 6.4 A narrative of a user’s requirements in an organization is given below: "Our company receives a number of items from many vendors and they are received at the receiving office. As we receive over 1000 items a day it is now virtually impossible for the receiving office to check whether the vendor has supplied items against an order, or sent a wrong item and inform the purchase office. We are also not able to find out if there are excesses or deficiencies in delivery and whether the vendor adhered to the delivery schedule as per the order. The items received at the receiving office are sent for physical inspection. The physical inspection consists of checking whether the quantities stated in the delivery note agree with the physical count, whether the item is the correct one ordered, and a check on the quality of item. We would like to keep a record of rejections due to bad quality, incorrect items, excess/deficient supply etc., 6.2 6.3 determined during inspection. This will enable us to assess vendors' reliability to guide us in placing orders in the future, besides keeping track of supplies. Items cleared by the inspection office are taken into the inventory by the stores office which keeps a ledger of items stocked and quantity available of each item. Customers send requisitions to the stores. The stores fulfill the requests based on availability and update the ledger. Currently we are not able to meet some of our customers' requests. We would like to incorporate automatic reordering by our purchase office if the inventory level of an item is low. We would also like to keep track of unfulfilled requests and meet them when items reach the store. Currently we are not able to pay our vendors promptly due to delays in payment order reaching our accounts office. We would like to rectify this. We would also like to bill our customers promptly and keep track of customers' payments" Develop the processing rules in structured English for the office receiving the goods specified in the user’s requirements. 6.5 Develop the processing rules in Structured English for the inspection process of the user’s requirements stated in Exercise 6.4 Develop the processing rules in Structured English for the purchase process of the user’s requirements stated in Exercise 6.4. Develop the processing rules in Structured English for the accounting process stated in Exercise 6.4 Develop the processing rules in Structured English for the stores process stated in Exercise 6.4 The policy followed by a company to process customer orders is given by the following rules: (i) If the customer order ≤ that in stock and his credit is OK, supply his requirement. (ii) If the customer credit is not OK do not supply. Send him an intimation. (iii) If the customer credit is OK but items in stock are less than his order, supply what is in stock. Enter the balance to be sent in a back-order file. Obtain a decision table for the above policy. 6.6 6.7 6.8 6.9 6.10 Obtain a decision table to decide whether on a given date an employee in an organization has completed one year's service or not. 6.11 Obtain a decision table for an automatic stamps vending machine with the following specifications: (i) To dispense 20, 15, 10, 5 paise stamps (ii) To accept 50, 25, 10, 5 paise coins (iii) Do not return change if it is necessary to return more than two coins of the same denomination. In such a case return the customer's coin and turn on "no change" light. The machine should dispense a stamp, the right amount of change, no stamp available, no change available signals etc. 6.12 Obtain a decision table to be used by a person to enter the office of a manager. The conditions to be checked are: Door open? Ring sign on? Enter sign on? Door locked? The actions a person takes are: Ring bell, enter, wait, leave. After obtaining the decision table, ensure that it has no logical errors and that it is in minimal form. 6.13 A University has the following rules for a student to qualify for a degree with Physics as the main subject and Mathematics as the subsidiary subject: (i) he should get 50% or more marks in Physics and 40% or more marks in Mathematics. (ii) If he gets < 50% marks in Physics, he should get 50% or more marks in Mathematics. He should, however, get at least 40% marks in Physics. (iii) If he gets < 40% marks in Mathematics and 60% or more marks in Physics, he is allowed to reappear in Mathematics examination only so that he can qualify. (a) obtain an EEDT for the rules (b) obtain an LEDT for the rules (c) check the logical correctness of the decision table 6.14 In instalment buying where payments are make on a weekly basis the action taken on "an account goes into arrears" is a crucial aspect of the operaiton. Table P6.14 illustrates a simplified arrears procedure. Answer the following questions: (i) (ii) (iii) (iv) Are all elementary rules logically possible? Is the table complete? Has the table any ambiguities? Are there logical errors in the table? If yes, point them out. (v) (vi) Use reasonable assumptions and correct the table. Remove any redundancies in the corrected table (Table 6.) 6.15 Obtain a decision tree for Exercise 6.9. 6.16 Obtain a decision tree for exercise 6.13. Is it possible to find out missing rules if any in a decision tree representation. 6.17 Obtain a decision tree for Exercise 6.12. 6.18 Explain in what types of problems you will use a decision tree approach rather than a decision table approach. 6.19 You want to go to Delhi from Bangalore. There are three flights per day; early morning, late morning and evening. You would like to go on 21.4.04 by early morning flight. If it is not available you will take the late morning flight. If neither is available you are willing to take any flight on 22.4.04 but prefer early and late morning flights., Obtain a decision tree for this word statement. Is decisiont able suitable for this problem? If not why? 6.20 Explain in what types of problemsyou will prefer Structured English process specification rather than decision tree. Table P.6.14 A simplified Arrears Procedure This week's cash > weekly Y Y N N This week's cash > 0 Any cash during last month Arrears > 2 * weekly rate Arrears > 4 * weekly rate − − − N − − − − X − A1 − − − Y X − − − − − A2 Y − Y N − X − − − − A3 Y − N − − − − − X − A1 − − N − N − − X − − − A4 − − N − Y − − − − − X A5 − N Y N − − − − − X − A1 − N Y Y N − − − X − − A6 − N Y − Y − − − − − X A5 C1: rate C2: C3: C4: C5: Send arrears letter A Send arrears letter B Send arrears letter C Send arrears letter D Notify accounts Take special action References 1. V.Rajaraman, “Analysis and Design of Information Systems”, 2nd Edition, Prentice Hall of India, New Delhi, 2002. Most of the material in this module is based on Chapter 8 and 9 of the above book. The book is perhaps the only one which has extensive discussion on error detection in Decision Tables. 2. K.E. Kendall and J.E.Kendall, “Systems Analysis and Design”, 5th Edition, Pearson Education Asia, Delhi, 2003. Has a brief discussion of structured English, Decision Tables and Decision Trees (pages 353 to 369) . Website www.prenhall.com/kendall has a lot of support material and case study for students. 3. J.A.Hoffer, J.F.George, J.S.Velacich, “Modern Systems Analysis and Design”, Third Edition, Pearson Education Asia, 2002. Chapter 7 (pages 282 to 303) cover the topics in this module. The book has a number of interesting case studies and a good problem set. The web site http://prenhall.com/hoffer has material to assist students who use this text book. 4. E.Yourdon “Modern Structured Analysis”, Prentice Hall of India, 1996. Chapter 11 (pages 203 to 232) describes structured English and Decision Tables. There is a larger set of exercises at the end of the chapter. MODULE 7 DATA INPUT METHODS OBJECTIVE QUESTIONS There are 4 alternative answers to each question. One of them is correct. Pick the correct answer. Do not guess. A key is given at the end of the module for you to verify your answer LEARNING UNIT 1 7.1.1 A data dictionary has consolidated list of data contained in (i) dataflows (iii) data outputs (a) (b) (c) (d) (i) and (iii) (i) and (ii) (ii) and (iv) (i) and (iv) (ii) data stores (iv) processes 7.1.2 A data dictionary is useful as it is a documentation aid it assists in designing input forms it contains al data in an application including temporary data used in processes (iv) it is a good idea in system design (i) and (ii) (i) and (iv) (i),(ii) and (iii) (i) and (iv) (i) (ii) (iii) (a) (b) (c) (d) 7.1.3 By metadata we mean (a) (b) (c) (d) very large data data about data data dictionary meaningful data 7.1.4 A data dictionary is usually developed (a) (b) (c) (d) At requirements specification phase During feasibility analysis When DFD is developed When a datadase is designed 7.1.5 A data dictionary has information about (a) every data element in a data flow (b) only key data element in a data flow (c) only important data elements in a data flow (d) only numeric data elements in a data flow 7.1.6 A data element in a data dictionary may have (a) (b) (c) (d) only integer value no value only real value only decimal value 7.1.7 A data element in a data flow (i) (ii) (iii) (iv) may be an integer number may be a real number may be binary may be imaginary (a) (b) (c) (d) (i),(ii),(iv) (iii),(iv),(ii) (i),(ii),(iii) (i) and (ii) LEARNING UNIT 2 7.2.1 It is necessary to carefully design data input to a computer based system because (a) it is good to be careful (b) the volume of data handled is large (c) the volume of data handled is small (d) data entry operators are not good 7.2.2 Errors occur more often when (a) data is entered by users (b) data is entered by operators (c) when data is handwritten by users and entered by an operator (d) the key board design is bad 7.2.3 Good system design prevents data entry errors by (i) Designing good forms with plenty of space to write in block capitals (ii) By giving clear instructions to a user on how to fill a form (iii) Reducing keystrokes of an operator (v) Designing good keyboard (a) i, ii, iii (c) i, ii (b) i, ii, iv (d) iii and iv 7.2.4 In on-line data entry it is possible to (a) Give immediate feedback if incorrect data is entered (b) Eliminate all errors (c) Save data entry operators time (d) Eliminate forms 7.2.5 The main problems encountered in off-line data entry are: (i) Data are entered by operators (ii) Data entered by hand in forms batched and forms may be missed or misread (iii) Errors are detected after a lapse of time (iv) Data are entered by users (a) i and ii (c) ii and iii (b) i and iii (d) iii and iv 7.2.6 In interactive data input a menu is used to (a) enter new data (b) add/delete data (c) select one out of many alternatives often by a mouse click (d) detect errors in data input 7.2.7 In interactive data input a template is normally used to (a) enter new data (b) add/delete data (c) select one out of many alternatives often by a mouse click (d) detect errors in data input 7.2.8 In interactive data input terminal commands are normally used to (a) enter new data (b) add/delete data (c) select one out of many alternatives often by a mouse click (d) detect errors in data input LEARNING UNIT 3 7.3.1 Data inputs which required coding are (a) fields which specify prices (b) key fields (c) name fields such as product name (e) fields which are of variable length 7.3.2 Key fields are normally coded (i) as they provide a unique identification (ii) as they are used for retrieving records (iii) as they facilitate cross referencing between applications which use the key (iv) as it is useful (a) i and ii (c) ii and iii (b) i and iv (d) i and iii 7.3.3 A code is useful to represent a key field because (a) it is a concise representation of the field (b) it is usually done by all (c) it is generally a good idea (e) it is needed in database design 7.3.4 By the term “concise code” we understand that the code (a) conveys information on item being coded (b) is of small length (c) can add new item easily (e) includes all relevant characteristics of item being coded 7.3.5 By the term “expandable code” we understand that the code (a) conveys information on item being coded (b) is of small length (c) can add new item easily (e) includes all relevant characteristics of item being coded 7.3.6 By the term “meaningful code” we understand that the code (a) conveys information on item being coded (b) is of small length (c) can add new item easily (e) includes all relevant characteristics of item being code 7.3.7 By the term “comprehensive code“ we understand that the code (a) conveys information on item being coded (b) is of small length (c) can add new item easily (d) includes all relevant characteristics of item being coded 7.3.8 A concise code is necessarily (a) precise (b) meaningful (c) comprehensive (d) difficult 7.3.9 Serial numbers used as codes are (i) concise (ii) meaningful (iii) expandable (iv) comprehensive (a) i and ii (b) ii and iii (c) ii and iv (d) i and iii 7.3.10 Block codes are (i) concise (ii) meaningful (iii) expandable (iv) comprehensive (a) i and ii (b) ii and iii (c) iii and iv (d) i and iii 7.3.11 Group classification codes are (i) concise (ii) meaningful (iii) expandable (iv) comprehensive (a) i and ii (b) i, ii and iii (c) ii, iii and iv (d) i, ii and iv 7.3.12 Significant codes are (i) concise (ii) meaningful (iii) expandable (iv) comprehensive (a) i and ii (c) ii, iii and iv (b) i, ii and iii (d) i, ii and iv 7.3.13 In significant codes some or all parts of the code (a) are meaningful (b) are usable (c) are significant (d) represent values 7.3.14 Errors in codes are detected by (a) proper design of code (b) introducing redundant digits/characters designed to detect errors (c) making the code concise (d) making the code precise 7.3.15 Design of error detecting codes requires good (a) knowledge of mathematics (b) statistical mechanics (c) statistics of errors normally committed during data entry (d) Boolean algebra 7.3.16 A modulus-11 check digit is used to detect error in (a) alphanumeric codes (b) numeric codes (c) hexadecimal codes (d) serial number code 7.3.17 A modulus-11 check digit will detect (i) single transcription errors (ii) single transposition errors (iii) multiple digit transcription errors (iv) and correct a single error (a) i and iii (b) i and iv (c) i and ii (d) iii and iv 7.3.18 A modulus-17 check will detect single transcription errors in (a) alphanumeric codes (b) hexadecimal codes (c) decimal numerical codes (d) serial number codes 7.3.19 For modulus-11 check digit to detect a single transposition errors the (a) weights should all be distinct (b) weights may all be equal and > 0 (c) weights should be less than 8 (d) weights should all be > 0 and distinct 7.3.20 For modulus-11 check digit to detect a single transcription errors (a) weights should all be distinct (b) weights may all be equal and > 0 (c) weights should be less than 8 (d) weights should all be > 0 and distinct 7.3.21 Modulus-11 check digit for the code 45672 is (a) 0 (b) 1 (c) 2 (d) 3 7.3.22 Modulus-11 check digit for the code 85672 is (a) 0 (b) 1 (c) X (d) 3 7.3.23 For modulus-11 check digit to detect single transposition or single transcription error the number of digits in the codes should not exceed (a) 9 (b) 10 (c) 11 (d) 99 7.3.24 Modulus-17 check character for the hexadecimal code AB4567 is (a) F (b) D (c) 1 (d) 0 7.3.25 Sequence numbering of records is used to (i) Identify each record uniquely (ii) Track a missing record in a batch of records (iii) Count number of records (iv) Sort the records (a) i, ii (b) i, ii, iii (c) i, ii, iii, iv (d) i and iv 7.3.26 A batch control record uses (i) Batch totals of selected fields (ii) A simple count of number of records in a batch (iii) Modulus-11 check digit of each key field (iv) Totals of selected fields of record totalled for the batch (a) i and ii (b) i, ii, iv (c) i, ii, iii, iv (d) iii and iv 7.3.27 A record total uses (a) batch totals of selected fields (b) count of numbers of records (c) modulus-11 check digit sum of all fields (d) total of selected fields of a record 7.3.28 If a field is known to represent an angle of a triangle, radix used to check should be (a) 90 (b) 60 (c) 180 (d) 360 7.3.29 If a field is known to represent days of a month, radix used to check should be (a) 30 (b) 31 (c) 28 (d) 29 7.3.30 Radix check for a field representing year is (a) possible (b) not possible (c) not relevant (d) may be tried 7.3.31 An appropriate range check for marks in an examination paper whose maximum marks 100 is (a) 100 (b) 0 to 100 (c) – 99 to +99 (d) 99 7.3.32 An appropriate range check for month field in a date is (a) 12 (b) –12 to 12 (c) 1 to 12 (d) 0 to 12 7.3.33 An appropriate range check of age of a tenth standard student in a high school is (a) 5 to 15 (b) 10 to 25 (c) 8 to 20 (d) 3 to 18 7.3.34 Reasonableness checks for monthly mess bill of a student if daily rate is Rs. 40 is (a) 1200 (b) 12000 (c) 120 (d) 2400 7.3.35 Batch control totals will detect (i) incorrect data entry of a field (ii) missing record (iii) data records out of order (iv) inconsistent data (a) i and ii (b) i, ii and iii (c) ii, iii and iv (d) iii and iv 7.3.36 If records are out-of-order then error may be detected by (a) batch control totals (b) radix check (c) sequence number check (d) range check 7.3.37 In payroll record a reasonable inter-field relationship check is to relate salary field with (a) age field (b) department field (c) designation field (d) increment field KEY TO OBJECTIVE QUESTIONS 7.1.1 b 7.1.7 c 7.2.6 c 7.3.4 b 7.3.10 b 7.3.16 b 7.3.22 c 7.3.28 c 7.3.34 d 7.1.2 7 .2.1 7.2.7 7.3.5 7.3.11 7.3.17 7.3.23 7.3.29 7.3.35 c b a c c c b b a 7.1.3 7.2.2 7.2.8 7.3.6 7.3.12 7.3.18 7.3.24 7.3.30 7.3.36 b c b a c b b b c 7.1.4 7.2.3 7.3.1 7.3.7 7.3.13 7.3.19 7.3.25 7.3.31 7.3.37 c a b d d d c b c 7.1.5 7.2.4 7.3.2 7.3.8 7.3.14 7.3.20 7.3.26 7.3.32 a a d a b b b c 7.1.6 7.2.5 7.3.3 7.3.9 7.3.15 7.3.21 7.3.27 7.3.33 b c a d c b d c System Analysis and Design/ Data Oriented Systems Design Motivation Motivation When a DFD is developed we have knowledge of all data elements required by an application. Data dictionary lists all data elements but does not say anything about relationships between data elements. Relationships are needed to logically group data elements into related sets or tables. Such an organization o Reduces data duplication o Simplifies adding, deleting and updating data o Simplifies retrieval of desired data Logical databases give conceptual model.. Logical databases need to be stored in physical media such as a hard disk for use by applications. A system is needed to map the logical database to a physical medium, which is transparent to an application program.. Database management systems achieve this purpose. V. Rajaraman/IISc. Bangalore //V1/July 04/1 MODULE 7 DATA INPUT METHODS LEARNING UNITS 7.1 Data Dictionary : its development and use 7.2 Data input methods : Batch and Interactive 7.3 Coding technique for unique data representation. Systems Analysis And Design © V. Rajaraman LEARNING GOALS 1. The need for a data dictionary for an application 2. How to develop a data dictionary for an application 3. Design of forms and screens for data input. 4. Need and methods of coding data elements. 5. Coding schemes for automatic error detection while inputting data 6. Need for and design of input data validation methods. Systems Analysis And Design © V. Rajaraman 1 of 41 MOTIVATION During systems analysis it is essential for an analyst to decide the necessary and sufficient data for designing an application. DFD gives the dataflows and stores of a system Individual data elements of dataflows and stores can be catalogued Such a catalogue with description of each element and their types will be an invaluable aid while designing a system. Systems Analysis And Design © V. Rajaraman 2 of 41 MOTIVATION A catalogue will also bring out if any data is duplicated/missed A catalogue will also be an invaluable documentation of a system Such a catalogue is called Data dictionary-It is actually metadata,i.e.,data about data. Systems Analysis And Design © V. Rajaraman 3 of 41 MOTIVATION After data dictionary is designed one needs to determine how the data is to be input. Data input methods depend on whether the data is filled in by customers in forms manually and later input by data entry operators or data is directly input by users on PC’s. We thus need to understand both these methods. Systems Analysis And Design © V. Rajaraman 4 of 41 MOTIVATION Unless data input is correct, results will be unreliable Information systems normally have a large volume of data Because of large volume special controls are needed to ensure correctness of data input - otherwise it is difficult to find which data is incorrect Thus it is important to design appropriate data input methods to prevent errors while entering data Key data elements are important to identify records.They need to be unique,concise and understandable by users.Thus we need to study methods of coding key data element Systems Analysis And Design © V. Rajaraman 5 of 41 WHAT IS DATA DICTIONARY Data dictionary is a catalogue of all data used in an application, their names, type and their origin. In other words it is data about data which is called metadata Data dictionary gives a single point reference of data repository of an organization It is thus an important documentation which would be useful to maintain a system 7.1.1 System Analysis And Design © V. Rajaraman 6 of 41 HOW IS DATA DICTIONARY DEVELOPED? Starting point is DFD Example : Consider the Receiving office process described in Module 3. DFD is reproduced below. Inspection Office Vendor Delivery note Receiving Process Items Received note Orders Purchase Office Discrepancy note We will recall the word statement from requirement specification now. 7.1.2 System Analysis And Design © V. Rajaraman 7 of 41 WORD STATEMENT OF REQUIREMENTS Vendor sends items with a delivery note while fulfilling an order (along with the physical items) to a receiving office. Receiving office compares a delivery note against order placed.If there is a discrepancy a discrepancy note is sent to purchase office. Actual items received note is sent to the inspection office along with items received. 7.1.3 System Analysis And Design © V. Rajaraman 8 of 41 DATA ELEMENTS IN DATA FLOW From word statement we derive data elements in each data flow. 1. Delivery note Order no,Vendor name,Vendor address,item name,delivery date,quantity supplied,units Item name and Vendor name may not be unique to ensure uniqueness we assign unique codes for them.Name is however still kept to aid people. Thus delivery note is: Delivery note = Order no + Vendor code + Vendor name + Vendor address + item code + item name + delivery date + quantity supplied + units. 7.1.4 System Analysis And Design © V. Rajaraman 9 of 41 DATA ELEMENTS IN DATA FLOW Discrepancy note : Order no + Vendor code + Vendor name + Vendor address + item code + item name + delivery date + quantity supplied + units + excess/deficiency + no of days late/early. Items received note = Delivery note Data in data store Order records = order no + vendor code + vendor name + vendor address + item code + item name + order date + qty ordered + units + delivery period. 7.1.5 System Analysis And Design © V. Rajaraman 10 of 41 DATA DICTIONARY FORMAT Data dictionary gives in detail the characteristics of a data element. Typical characteristics are: Data name : Should be descriptive and self explanatory.This will help in documentation and maintenance Data description : What it represents Origin : Where the data originates e.g. input from forms, comes from receiving office, keyed in by user etc. Destination : Where data will flow and will be used (if any) Data Type : numeric, alphanumeric,letters(or text),binary(0 or 1; True or False),Integer, Decimal fixed point, real(floating point), currency unit, date 7.1.6 System Analysis And Design © V. Rajaraman 11 of 41 TYPICAL CHARACTERSTICS OF DATA ELEMENTS(CONTD) Length : no of columns needed Limits on value : (if relevant) e.g. upper and lower bounds of value (age>0,<100) Remarks : (if any) 7.1.7 System Analysis And Design © V. Rajaraman 12 of 41 EXAMPLE OF DATA DICTIONARY ENTRY Name : Order number Description : Used to identify order given to vendor Origin : Part of delivery note from vendor Destination : Receiving process Data type : Numeric Integer Length : 8 digits Limits on value : >000,<=99999999 Actual value not relevant.Used only as unique identifier Remarks: It is a key field. 7.1.8 System Analysis And Design © V. Rajaraman 13 of 41 EXAMPLE OF DATA DICTIONARY ENTRY(CONTD Name : Delivery date Description : Date item is to be delivered Origin : Part of delivery note from vendor.Is also in orders data store which is input to receiving process Destination : Receiving process Data type : Numeric Integer Length : 8 digits Limits on value : Date field in the form DDMMYYYY. Should satisfy constraints of a date in calendar Remarks: Blank fields not allowed. e.g.05082004 is ok but not 582004 7.1.9 System Analysis And Design © V. Rajaraman 14 of 41 DATA DICTIONARY USES Data dictionary can be enormous in size.Requires careful development. However,it is centralized reference document. Invaluable resource to design •Input forms and screens •Data checking programs •Process specification •Database Very useful in understanding and maintaining system 7.1.10 System Analysis And Design © V. Rajaraman 15 of 41 DATA INPUT METHODS ON-LINE - User directly Enters data using screen prompts OFF-LINE -Forms filled by users- for examplecandidates for admission to a college fill forms Data from forms keyed in by a data entry operator 7.2.1 System Analysis And Design © V. Rajaraman 16 of 41 ERROR SOURCES Errors in on-line data entry due to poor screen design. System should inform the user immediately when wrong data is input Errors in off-line data entry due to bad form design and human errors by users and data entry operator System should prevent user making mistakes by •Good form design by leaving enough space for writing legibly •Clear instructions to fill form System should prevent data entry operator making mistakes by •Good form design •Reducing key strokes •Immediate error feedback 7.2.2 System Analysis And Design © V. Rajaraman 17 of 41 OFF LINE DATA ENTRY - PROBLEMS Forms batched Desirable for the machine to give message when input is wrong.Not always possible Error found after elapse of time Need good controls to automatically detect and if possible correct errors 7.2.3 System Analysis And Design © V. Rajaraman 18 of 41 BATCH DATA ENTRY Data entered in forms Keyboard Data entry Error batch Input file Data validation program Input batch Error report Update program Output report Data processing program Data store 7.2.4 System Analysis And Design © V. Rajaraman 19 of 41 BATCH DATA ENTRY Name Address Bad design : Tendency will be to fill name on top line. Not enough space for letters of address Tick as applicable Individual Hindu undivided family Parent/Guardian of minor Bad design : Choices are not codified. Data entry operator will be confused. 7.2.5 System Analysis And Design © V. Rajaraman 20 of 41 BATCH DATA ENTRY Enter date Day month Year (Good design) Enter time Hr Min Sec (Bad design) Enter date Enter time (Good design) (Bad design) 7.2.6 System Analysis And Design © V. Rajaraman 21 of 41 BATCH DATA ENTRY Enter name and address using capital letters Use one box for each alphabet Tick any of the following Shri 1 Name Only address (do not Repeat name) Pin I am applying as: Tick one of the boxes below Individual Hindu undivided family Parent or guardian Of minor Smt 2 Kum 3 Clear instructions . Enough space for entry manually.Data entry operator can be simple instructions for data entry System Analysis And Design 7.2.7 © V. Rajaraman 22 of 41 COMPUTER READABLE FORMS As manual data input from forms are slow and expensive attempts have been made to automate form reading using scanners Needs hand writing recognition and correct form alignment – Not very successful However if forms require just darkening some pre-defined areas they can be machine read and interpreted. Example – Multiple choice questions in exams where specific boxes are darkened based on the choice. 7.2.8 System Analysis And Design © V. Rajaraman 23 of 41 INTERACTIVE DATA INPUT Advent of PC’s and client/server model in computer networks, interactive data input is now widely used Advantages are instant response when data is input so that errors are immediately corrected. Flexibility in screen design which minimizes manual effort Use of mouse and icons simplifies pre-determined choices of data 7.2.9 System Analysis And Design © V. Rajaraman 24 of 41 INTERACTIVE DATA INPUT Three main models of interactive data input : Menus Templates Commands 7.2.10 System Analysis And Design © V. Rajaraman 25 of 41 MODELS OF DATA INPUT MENUS User presented several alternatives and asked to type his/her choice EXAMPLE SELECT ALTERNATIVE Type 1 For entering new student record Type 2 For deleting student record Type 3 For changing student record Your choice System Analysis And Design 7.2.11 © V. Rajaraman 26 of 41 MODELS OF DATA INPUT TEMPLATE Template analogous to form Has features to reject incorrect data input using built-in program User friendly visual presentation Example Roll no Name FIRST NAME/INTIALS Dept code Year Hostel code A B C D CE LAST NAME CS ME EE CODES IT Pre-programmed to reject incorrect Roll no,Dept code,Year, Hostel code 7.2.12 System Analysis And Design © V. Rajaraman 27 of 41 MODELS OF DATA INPUT Interactive commands guides user through alternatives Example Computer : Did you request deletion of record ? Type Y or N User :Y Computer : Give student roll no User : 56743 Computer : Is name of the student A.K.Jain? Type Y or N User :Y Computer : Is he 1st year student Type Y or N User :Y Computer : Shall I delete name? User :Y 7.2.13 System Analysis And Design © V. Rajaraman 28 of 41 MODELS OF DATA INPUT Normally all three models will occur together in application .In other words Menu, Forms and Commands are not mutually exclusive Graphical user interface design very rich arealanguages such as Visual Basic simplifies design of user interface We have given only a flavor of the topic 7.2.14 System Analysis And Design © V. Rajaraman 29 of 41 WHY DO WE NEED CODES? NEED FOR CODING UNIQUE IDENTIFIER -Example Roll no instead of name CROSS REFERENCING BETWEEN APPLICATIONS -unique Roll no may be used in examination records,accounts, health centre EFFICIENT STORAGE AND RETRIEVAL - Codes concise- a long name will have a shorter roll no 7.3.1 System Analysis And Design © V. Rajaraman 30 of 41 WHAT ARE THE REQUIREMENTS OF A GOOD CODE? CONCISE - Smallest length to reduce storage and data input effort EXPANDABLE - Add new members easily MEANINGFUL- Code must convey some information about item being coded COMPREHENSIVE - Include all relevant characteristics of item being coded PRECISE - Unique, unambiguous code 7.3.2 System Analysis And Design © V. Rajaraman 31 of 41 WHAT METHODS DO WE USE TO CODE 1) SERIAL NO: Assign serial number to each item 2) BLOCK CODES: Blocks of serial numbers assigned to different categories. 3) GROUP CLASSIFICATION CODE- Groups of digits/characters assigned for different characteristics Roll no 87 Year admitted (use meaningful characters) 87 1 Term admitted 1 05 Dept CS 2 Status UG/PG UG 465 Serial no In dept 465 4) SIGNIFICANT CODES - Some or all parts given values Roll no BA Banian 1 Male 95 Chest size cms C Cotton B Color (blue) R Style (Round neck) 7.3.4 System Analysis And Design © V. Rajaraman 32 of 41 CHARACTERSTICS OF CODES Characteristics Codes SERIAL NO BLOCK CODES GROUP CLASSIFICATION CODE SIGNIFICANT CODE Concise Expandable Meaningful Comprehensive Precise Yes Moderate Yes Yes Yes No No Yes Yes Yes No No No Yes Yes No Yes Yes Yes Yes 7.3.5 System Analysis And Design © V. Rajaraman 33 of 41 ERROR DETECTION CODE Incorrect data entry can lead to chaos Mistakes occur as volume of data processed is large Need to detect and if possible correct errors in data entry Error detected by introducing controlled redundancy in codes Error control digits added based on statistics of types of errors normally committed during data entry 7.3.6 System Analysis And Design © V. Rajaraman 34 of 41 MODULUS 11 CHECK DIGIT SYSTEM Error detection digit added at the end of a numeric code Code designed in such a way as to detect all single transcription and single transposition errors which is 95% of all errors Single transcription error- 49687 48687 Single transposition error 45687 48657 Given code 49687 modulus check digit obtained as follows:Multiply each digit by Weights of 2,3,4 etc starting with least significant digit 7*2+8*3+6*4+9*5+4*6=131 131/11=11,remainder 10; or 131 mod (11) =10; (11-10)=1 append it to the code The code with check digit=496871 If remainder is 1 then append(11-1)=10 code as X System Analysis And Design 7.3.7 © V. Rajaraman 35 of 41 ERROR DETECTION 496871 Correct code 486871 Code as entered Error detection - 1*1 + 7*2 + 8*3 + 6*4 + 8*5 + 4*6 = 127/11 Remainder != 0 => Error 496871 Error detection - 416879 9*1 + 7*2 + 8*3 + 6*4 + 1*5 + 4*6 = 100/11 Remainder != 0 => Error System Analysis And Design 7.3.8 © V. Rajaraman 36 of 41 WHY DOES MODULUS 11 CHECK DIGIT WORK Given dn,dn-1,……..d1 where d1 is the check digit n (∑Widi )mod N=0 by design i=1 What should be the values of N & Wis Single transcription error: dk become t n n (∑Widi )= (∑Widi ) + t Wk - Wk dk i=1 i=1 As (∑Widi ) mod N=0 (t-dk ) Wk mod N = 0 (t- dk ) Wk =p.N where p is any integer Conditions 1. 2. 3. 4. 0<Wk<N As [t-dk] < 10 and Wk < N, N>10 Product of integer not a prime => N a prime Smallest prime > 10 =11 => N=11 7.3.9 System Analysis And Design © V. Rajaraman 37 of 41 WHY DOES MODULUS 11 CHECK DIGIT WORK Single transposition error Let dk and dm get interchanged n [ ∑ Wi,di + (dkWm + dmWk - dkWk - dmWm )] mod N = 0 i=1 Or(dk-dm)(Wm-Wk) = p.N 1. (Wm - Wk) = 0 => Weights distinct 2. (dk- dm)< 10 If N> 10 equation satisfied 3. If N prime product cannot be prime therefore N =11 satisfies conditions 7.3.10 System Analysis And Design © V. Rajaraman 38 of 41 OTHER CHECKING SYSTEMS USE MODULO N CHECK WITH N PRIME > LARGEST CODE CHARACTER VALUE FOR HEXADECIMAL CODES SYMBOLS = 16, N =17 FOR ALPHANUMERIC CODES 26 LETTERS 10 DIGITS 36 SYMBOLS Therefore N=37. 7.3.11 System Analysis And Design © V. Rajaraman 39 of 41 VALIDATING INPUT DATA WHEN LARGE VOLUME OF DATA IS INPUT SPECIAL PRECAUTIONS NEEDED TO VALIDATE DATA VALIDATION CHECKS : SEQUENCE NUMBERING - detects missing record BATCH CONTROL - Use batch totals DATA ENTRY AND VERIFICATION-Dual input RECORD TOTALS-Add individual values for checking MODULUS 11 CHECK DIGIT 7.3.12 System Analysis And Design © V. Rajaraman 40 of 41 CHECKS ON INDIVIDUAL FIELDS Radix errors - For example seconds field cannot exceed 60,month field cannot exceed 12 Range check - Fields should be within specified range Reasonableness check - Telephone bill cannot be more than 10 times average bill of last few months Inconsistent data - For example : 31-04-99 Incorrect data- Batch total checks this Missing data - Batch control data checks this Inter field relationship check For example - Student of 8th class cannot have age > 25 7.3.13 System Analysis And Design © V. Rajaraman 41 of 41 MODULE 7 DATA INPUT METHODS Contents 1. MOTIVATION AND LEARNING GOALS 2. LEARNING UNIT 1 Data Dictionary : its development and use 3. LEARNING UNIT 2 Data input methods : Batch and Interactive 4. LEARNING UNIT 3 Coding technique for unique data representation. 5. References DATA INPUT METHODS MOTIVATION During systems analysis it is essential for an analyst to decide the necessary and sufficient data for designing an application. DFD gives the dataflows and stores of a system. Individual data elements of dataflows and stores can be catalogued. Such a catalogue with description of each element and their types will be an invaluable aid while designing a system. A catalogue will also bring out if any data is duplicated/missed. A catalogue will also be an invaluable documentation of a system. Such a catalogue is called Data dictionary-It is actually metadata, i.e., data about data. After data dictionary is designed one needs to determine how the data is to be input. Data input methods depend on whether the data is filled in by customers in forms manually and later input by data entry operators or data is directly input by users on PC’s. We thus need to understand both these methods. Unless data input is correct, results will be unreliable. Information systems normally have a large volume of data. Because of large volume special controls are needed to ensure correctness of data input - otherwise it is difficult to find which data is incorrect. Thus it is important to design appropriate data input methods to prevent errors while entering data. Key data elements are important to identify records. They need to be unique, concise and understandable by users. Thus we need to study methods of coding key data element LEARNING GOALS At the end of this module you will know 1.The need for a data dictionary for an application 2.How to develop a data dictionary for an application 3.Design of forms and screens for data input. 4.Need and methods of coding data elements. 5.Coding schemes for automatic error detection while inputting data 6.Need for and design of input data validation methods. LEARNING UNIT 1 Data Dictionary : its development and use WHAT IS DATA DICTIONARY Data dictionary is a catalogue of all data used in an application, their names, type and their origin. In other words it is data about data which is called metadata. Data dictionary gives a single point reference of data repository of an organization. It is thus an important documentation which would be useful to maintain a system HOW IS DATA DICTIONARY DEVELOPED? The Starting point of developing a data dictionary is a DFD. Example: Consider the Receiving office DFD. Vendor Delivery note Receivin g Process Items Received note Inspection Office Orders Purchase Office Discrepancy note WORD STATEMENT OF REQUIREMENTS FOR THE ABOVE DFD Vendor sends items with a delivery note while fulfilling an order (along with the physical items) to a receiving office. Receiving office compares a delivery note against order placed. If there is a discrepancy a discrepancy note is sent to purchase office. Actual items received note is sent to the inspection office along with items received. DATA ELEMENTS IN DATA FLOW From word statement we derive data elements in each data flow. Order no,Vendor name,Vendor address,item name,delivery date,quantity supplied,units Item name and Vendor name may not be unique. To ensure uniqueness we assign unique codes for them. Name of item is however still kept as it is to aid people. Thus delivery note is: Delivery note = Order no + Vendor code + Vendor name + Vendor address + item code + item name + delivery date + quantity supplied + units. Discrepancy note : Order no + Vendor code + Vendor name + Vendor address + item code + item name + delivery date + quantity supplied + units + excess/deficiency + no of days late/early. Items received note = Delivery note Data in data store Order records = order no + vendor code + vendor name + vendor address + item code + item name + order date + qty ordered + units + delivery period. TYPICAL CHARACTERSTICS OF DATA ELEMENTS(CONTD) Data dictionary gives in detail the characteristics of a data element. Typical characteristics are: Data name : Should be descriptive and self explanatory.This will help in documentation and maintenance Data description : What it represents Origin : Where the data originates e.g. input from forms, comes from receiving office, keyed in by user etc. Destination : Where data will flow and will be used (if any) Data Type : numeric, alphanumeric,letters(or text),binary(0 or 1; True or False), Integer, Decimal fixed point, real(floating point), currency unit, date Length : no of columns needed Limits on value : (if relevant) e.g. upper and lower bounds of value (age>0,<100) Remarks : (if any) EXAMPLE OF DATA DICTIONARY ENTRY 1) Name : Order number Description : Used to identify order given to vendor Origin : Part of delivery note from vendor Destination : Receiving process Data type : Numeric Integer Length : 8 digits Limits on value : >000,<=99999999 Actual value not relevant.Used only as unique identifier Remarks: It is a key field. 2) Name : Delivery date Description : Date item is to be delivered Origin : Part of delivery note from vendor.Is also in orders data store which is input to receiving process Destination : Receiving process Data type : Numeric Integer Length : 8 digits Limits on value : Date field in the form DDMMYYYY. Should satisfy constraints of a date in calendar Remarks: Blank fields not allowed. e.g.05082004 is ok but not 582004 DATA DICTIONARY USES Data dictionary can be enormous in size. Requires careful development. However, it is centralized reference document. It is an invaluable resource to design input forms, screens, data checking programs, process specification and database. It is very useful in understanding and maintaining system LEARNING UNIT 2 Data input methods : Batch and Interactive ON-LINE - User directly Enters data using screen prompts OFF-LINE -Forms filled by users- for example-candidates for admission to a college fill forms ERROR SOURCES Errors in on-line data entry due to poor screen design. System should inform the user immediately when wrong data is input Errors in off-line data entry due to bad form design and human errors by users and data entry operator. Using a form which leaves enough space for writing legibly and has clear instructions prevents user from making mistakes. OFF LINE DATA ENTRY – PROBLEMS It is not always possible for the machine to give message when input is wrong, error may be found after elapse of time period. Therefore good controls to automatically detect and if possible correct errors is required. BATCH DATA ENTRY Data entered in forms Keyboard Data entry Error batch Input file Data validation program Input batch Error report Update program Output report Data processing program Data store Name Address Bad design : Tendency will be to fill name on top line. Not enough space for letters of address Bad design : Choices are not codified. Tick as applicable Individual Hindu undivided family Parent/Guardian of minor Data entry operator will be confused . Enter date Day month Year (Good design) Enter date (Bad design) Enter time Enter time Enter name and address using capital letters Use one box for each alphabet Hr Min Sec Tick any of the following design) Shri (Good Smt 1 2 Name Only address (do not Repeat name) I am applying as: Tick one of the boxes below space for entry manually. Clear instructions. Enough Individual Hindu undivided family COMPUTER READABLE FORMS Parent or guardian Of minor Kum 3 (Bad design) Pin As manual data input from forms are slow and expensive, attempts have been made to automate form reading using scanners, but this needs hand writing recognition and correct form alignment, which is not always successful. However, if forms require just darkening some pre-defined areas they can be machine read and interpreted. Example – Multiple choice questions in exams where specific boxes are darkened based on the choice. INTERACTIVE DATA INPUT Advent of PC’s and client/server model in computer networks, interactive data input is now widely used Advantages are instant response when data is input so that errors are immediately corrected, flexibility in screen design which minimizes manual effort. And use of mouse and icons simplifies pre-determined choices of data Three main models of interactive data input : Menus Templates Commands MODELS OF DATA INPUT MENUS User presented several alternatives and asked to type his/her choice EXAMPLE SELECT ALTERNATIVE Type 1 For entering new student record Type 2 For deleting student record Type 3 For changing student record Your choice TEMPLATE Template is analogous to form. It has features to reject incorrect data input using built-in program and is user friendly Example Roll no Name FIRST NAME/INTIALS LAST NAME Dept code CE CS ME EE IT Year Hostel code A B C D Pre-programmed to reject incorrect Roll no,Dept code,Year, Hostel code Interactive commands guides user through alternatives Example Computer : Did you request deletion of record ? Type Y or N User :Y Computer : Give student roll no User : 56743 Computer : Is name of the student A.K.Jain? Type Y or N User :Y Computer : Is he 1st year student Type Y or N User :Y Computer : Shall I delete name? User :Y Normally all three models will occur together in application .In other words Menu, Forms and Commands are not mutually exclusive. In Graphical user interface design use of languages such as Visual Basic simplifies design of user interface. LEARNING UNIT 3 Coding technique for unique data representation. WHY DO WE NEED CODES? UNIQUE IDENTIFIER -Example Roll no instead of name CROSS REFERENCING BETWEEN APPLICATIONS -unique Roll no may be used in examination records, accounts, and health centre EFFICIENT STORAGE AND RETRIEVAL - Codes concise- a long name will have a shorter roll no WHAT ARE THE REQUIREMENTS OF A GOOD CODE? CONCISE - Smallest length to reduce storage and data input effort EXPANDABLE - Add new members easily MEANINGFUL- Code must convey some information about item being coded COMPREHENSIVE - Include all relevant characteristics of item being coded PRECISE - Unique, unambiguous code WHAT METHODS DO WE USE TO CODE 1) SERIAL NO: Assign serial number to each item 2) BLOCK CODES: Blocks of serial numbers assigned to different categories. 3) GROUP CLASSIFICATION CODE- Groups of digits/characters assigned for different characteristics Roll no 87 1 Term admitte 1 05 2 Status UG/PG UG 465 Serial no In dept 465 Year admitte (use meaningful characters) 87 Dept CS 4) SIGNIFICANT CODES - Some or all parts given values Roll no BA Banian 1 Male 95 Chest size cms C Cotton B Color (blue) R Style (Round neck) CHARACTERSTICS OF CODES Characteristics Codes Concise Expandable Meaningful Comprehensive Precise SERIAL NO Yes Moderate Yes Yes Yes No No Yes Yes Yes BLOCK CODES No No GROUP CLASSIFICATION CODE No Yes Yes SIGNIFICANT No Yes CODEERROR DETECTION CODE Yes Yes Yes Incorrect data entry can lead to chaos.Mistakes occur as volume of data processed is large. Therfore its necessary to detect and if possible correct errors in data entry. Error can be detetected by introducing controlled redundancy in codes. MODULUS 11 CHECK DIGIT SYSTEM Error detection digit added at the end of a numeric code Code designed in such a way as to detect all single transcription and single transposition errors which is 95% of all errors Single transcription error- 49687 48687 Single transposition error 45687 48657 Given code 49687 modulus check digit obtained as follows: Multiply each digit by Weights of 2,3,4 etc starting with least significant digit 7*2+8*3+6*4+9*5+4*6=131 131/11=11,remainder 10; or 131 mod (11) =10; (11-10)=1 append it to the code The code with check digit=496871 If remainder is 1 then append(11-1)=10 code as X WHY DOES MODULUS 11 CHECK DIGIT WORK Given dn,dn-1,……..d1 where d1 is the check digit n (∑Widi )mod N=0 by design i=1 n n (∑Widi )= (∑Widi ) + t Wk - Wk dk i=1 i=1 What should be the values of N & Wis Single transcription error: dk become t As (∑Widi ) mod N=0 (t- dk ) Wk mod N = 0 OTHER CHECKING SYSTEMS (t- dk ) Wk =p.N where p is any integer Use modulo n check with n prime > largest code character value Conditions For hexadecimal codes symbols = 16, n =17 • For alphanumeric codes 0<Wk<N 26 letters • As [t-dk] < 10 and Wk < N, N>10 10 N a prime • Product of integer not a prime => digits • Smallest prime > 10 =11 => N=11 36 symbols Therefore n=37. VALIDATING INPUT DATA When large volume of data is input special precautions are needed to validate data validation checks methods: sequence numbering - detects missing record batch control - use batch totals data entry and verification-dual input record totals-add individual values for checking modulus 11 check digit CHECKS ON INDIVIDUAL FIELDS Radix errors - For example seconds field cannot exceed 60,month field cannot exceed 12 Range check - Fields should be within specified range Reasonableness check - Telephone bill cannot be more than 10 times average bill of last few months Inconsistent data - For example : 31-04-99 Incorrect data- Batch total checks this Missing data - Batch control data checks this Inter field relationship check For example - Student of 8lh class cannot have age > 25 REFERENCES 1. Most of the material in this module has been adapted from the book “Analysis and Design of Information Systems”, 2nd Edition, by V.Rajaraman, Prentice Hall of India, 2003. Chapter 5 (pp. 49-52) and Chapter 11 (pp.154-170). 2. Good material on Data Dictionary is found in K.E.Kendall and J.E.Kendall , “Systems Analysis and Design”, 5th Edition, Pearson Education Asia, 2003.Chapter 10 on Data Dictionaries. Chapter 16 Designing Effective Input. System Analysis and Design/Data Oriented Systems Design Multiple Choice Questions 7.1 A data dictionary has consolidated list of data contained in (i) dataflows (ii) data stores (iii) data outputs (iv) processes 7.2 a. (i) and (iii) b. (i) and (ii) c. (ii) and (iv) d. (i) and (iv) A data dictionary is useful as (i) it is a documentation aid (ii) it assists in designing input forms (iii) it contains al data in an application including temporary data used in processes (iv) it is a good idea in system design a. (i) and (ii) b. (i) and (iv) c. (i),(ii) and (iii) d. (i) and (iv) By metadata we mean a. very large data b. data about data c. data dictionary d. meaningful data A data dictionary is usually developed a. At requirements specification phase b. During feasibility analysis c. When DFD is developed d. When a datadase is designed A data dictionary has information about a. every data element in a data flow b. only key data element in a data flow c. only important data elements in a data flow d. only numeric data elements in a data flow A data element in a data dictionary may have a. only integer value b. no value c. only real value d. only decimal value 7.3 7.4 7.5 7.6 V. Rajaraman/IISc. Bangalore M7/V1/July 04/1 System Analysis and Design/Data Oriented Systems Design Multiple Choice Questions 7.7 A data element in a data flow (i) may be an integer number (ii) may be a real number (iii)may be binary (iv)may be imaginary a. (i),(ii),(iv) b. (iii),(iv),(ii) c. (i),(ii),(iii) d. (i) and (ii) 7.8 It is necessary to carefully design data input to a computer based system because a. it is good to be careful b. the volume of data handled is large c. the volume of data handled is small d. data entry operators are not good 7.9 Errors occur more often when a. data is entered by users b. data is entered by operators c. when data is handwritten by users and entered by an operator d. the key board design is bad 7.10 Good system design prevents data entry errors by (i) Designing good forms with plenty of space to write in block capitals (ii)By giving clear instructions to a user on how to fill a form (iii)Reducing keystrokes of an operator (iv)Designing good keyboard a. i, ii, iii b. i, ii, iv c. i, ii d. iii and iv 7.11 In on-line data entry it is possible to a. Give immediate feedback if incorrect data is entered b. Eliminate all errors c. Save data entry operators time d. Eliminate forms 7.12 The main problems encountered in off-line data (i)Data are entered by operators entry are: V. Rajaraman/IISc. Bangalore M7/V1/July 04/2 System Analysis and Design/Data Oriented Systems Design Multiple Choice Questions (ii)Data entered by hand in forms batched and forms may be missed or misread (iii) Errors are detected after a lapse of time (iv)Data are entered by users 7.13 7.14 7.15 7.16 7.17 7.18 7.19 7.20 a. i and ii b. i and iii c. ii and iii d. iii and iv In interactive data input a menu is used to a. enter new data b. add/delete data c. select one out of many alternatives often by a mouse click d. detect errors in data input In interactive data input a template is normally used to a. enter new data b. add/delete data c. select one out of many alternatives often by a mouse click d. detect errors in data input In interactive data input terminal commands are normally used to a. enter new data b. add/delete data c. select one out of many alternatives often by a mouse click d. detect errors in data input Data inputs which required coding are a. fields which specify prices b. key fields c. name fields such as product name d. fields which are of variable length Key fields are normally coded a. i and ii b. i and iv c. ii and iii d. i and iii A code is useful to represent a key field because a. it is a concise representation of the field b. it is usually done by all c. it is generally a good idea d. it is needed in database design By the term “concise code” we understand that the code a. conveys information on item being coded b. is of small length c. can add new item easily d. includes all relevant characteristics of item being coded By the term “expandable code” we understand that the code a. conveys information on item being coded b. is of small length M7/V1/July 04/3 V. Rajaraman/IISc. Bangalore System Analysis and Design/Data Oriented Systems Design Multiple Choice Questions 7.21 7.22 7.23 7.24 c. can add new item easily d. includes all relevant characteristics of item being coded By the term “meaningful code” we understand that the code a. conveys information on item being coded b. is of small length c. can add new item easily d. includes all relevant characteristics of item being code By the term “comprehensive code“ we understand that the code a. conveys information on item being coded b. is of small length c. can add new item easily d. includes all relevant characteristics of item being coded A concise code is necessarily a. Precise b. Meaningful c. Comprehensive d. Difficult Serial numbers used as codes are (i) concise (ii ) meaningful (iii) expandable (iv) comprehensive a. i and ii b. ii and iii c. ii and iv d. i and iii 7.25 Block codes are (i)concise (ii )meaningful (iii)expandable (iv)comprehensive a. i and ii b. ii and iii c. iii and iv d. i and iii 7.26 Group classification codes are (i)concise (ii)meaningful (iii) expandable V. Rajaraman/IISc. Bangalore M7/V1/July 04/4 System Analysis and Design/Data Oriented Systems Design (iv)comprehensive Multiple Choice Questions a. i and ii b. i, ii and iii c. ii, iii and iv d. i, ii and iv 7.27 Significant codes are (i)concise (ii)meaningful (iii )expandable (iv)comprehensive 7.28 7.29 7.30 7.31 7.32 a. i and ii b. i, ii and iii c. ii, iii and iv d. i, ii and iv In significant codes some or all parts of the code a. are meaningful b. are usable c. are significant d. represent values Errors in codes are detected by a. proper design of code b. introducing redundant digits/characters designed to detect errors c. making the code concise d. making the code precise Design of error detecting codes requires good a. knowledge of mathematics b. statistical mechanics c. statistics of errors normally committed during data entry d. Boolean algebra A modulus-11 check digit is used to detect error in a. alphanumeric codes b. numeric codes c. hexadecimal codes d. serial number code A modulus-11 check digit will detect (i)single transcription errors (ii)single transposition errors (iii)multiple digit transcription errors (iv)and correct a single error a. b. c. d. i and iii i and iv i and ii iii and iv V. Rajaraman/IISc. Bangalore M7/V1/July 04/5 System Analysis and Design/Data Oriented Systems Design Multiple Choice Questions 7.33 A modulus-17 check will detect single transcription errors in a. alphanumeric codes b. hexadecimal codes c. decimal numerical codes d. serial number codes 7.34 For modulus-11 check digit to detect a single transposition errors a. weights should all be distinct b. weights may all be equal and > 0 c. weights should be less than 8 d. weights should all be > 0 and distinct 7.35 For modulus-11 check digit to detect a single transcription errors a. weights should all be distinct b. weights may all be equal and > 0 c. weights should be less than 8 d. weights should all be > 0 and distinct 7.36 Modulus-11 check digit for the code 45672 is a. 0 b. 1 c. 2 d. 3 7.37 Modulus-11 check digit for the code 85672 is a. 0 b. 1 c. X d. 3 7.38 For modulus-11 check digit to detect single transposition or single transcription error the number of digits in the codes should not exceed a. 9 b. 10 c. 11 d. 99 7.39 Modulus-17 check character for the hexadecimal code AB4567 is a. F b. D c. 1 d. 0 7.40 Sequence numbering of records is used to (i)Identify each record uniquely (ii)Track a missing record in a batch of records (iii)Count number of records (iv) Sort the records a. b. c. d. i, ii i, ii, iii i, ii, iii, iv i and iv V. Rajaraman/IISc. Bangalore M7/V1/July 04/6 System Analysis and Design/Data Oriented Systems Design Multiple Choice Questions 7.41 A batch control record uses (i)Batch totals of selected fields (ii)A simple count of number of records in a batch (iii)Modulus-11 check digit of each key field (iv)Totals of selected fields of record totalled for the batch a. i and ii b. i, ii, iv c. i, ii, iii, iv d. iii and iv A record total uses a. batch totals of selected fields b. count of numbers of records c. modulus-11 check digit sum of all fields d. total of selected fields of a record If a field is known to represent an angle of a triangle, radix used to check should be a. 90 b. 60 c. 180 d. 360 If a field is known to represent days of a month, radix used to check should a. 30 b. 31 c. 28 d. 29 Radix check for a field representing year is a. Possible b. not possible c. not relevant d. may be tried An appropriate range check for marks in an examination paper whose maximum marks 100 is a. 100 b. 0 to 100 c. – 99 to +99 d. 99 An appropriate range check for month field in a date is a. 12 b. –12 to 12 c. 1 to 12 d. 0 to 12 An appropriate range check of age of a tenth standard student in a high school a. 5 to 15 b. 10 to 25 7.42 7.43 7.44 7.45 7.46 7.47 7.48 V. Rajaraman/IISc. Bangalore M7/V1/July 04/7 System Analysis and Design/Data Oriented Systems Design Multiple Choice Questions c. 8 to 20 d. 3 to 18 7.49 Reasonableness checks for monthly mess bill of a student if daily rate is Rs. 40 is a. 1200 b. 12000 c. 120 d. 2400 7.50 Batch control totals will detect (i)incorrect data entry of a field (ii)missing record (iii) data records out of order ( iv)inconsistent data a. i and ii b. i, ii and iii c. ii, iii and iv d. iii and iv 7.51 If records are out-of-order then error may be detected by a. batch control totals b. radix check c. sequence number check d. range check 7.52 In payroll record a reasonable inter-field relationship check is to relate salary field with a. age field b. department field c. designation field d. increment field V. Rajaraman/IISc. Bangalore M7/V1/July 04/8 System Analysis and Design/Data Oriented Systems Design Multiple Choice Questions Key to Objective Questions 7.1 b 7.2 c 7.3 b 7.4 c 7.5 a 7.6 b 7.7 c 7 .8 b 7.9 c 7.10 a 7.11 a 7.12 c 7.13 c 7.14 a 7.15 b 7.16 b 7.17 d 7.18 a 7.19 b 7.20 c 7.21 a 7.22 d 7.23 a 7.24 d 7.25 b 7.26 c 7.27 c 7.28 d 7.29 b 7.30 c 7.31 b 7.32 c 7.33 b 7.34 d 7.35 b 7.36 b 7.37 c 7.38 b 7.39 b 7.40 c 7.41 b 7.42 d 7.43 c 7.44 b 7.45 b 7.46 b 7.47 c 7.48 c 7.49 d 7.50 a 7.51 c 7.52 c V. Rajaraman/IISc. Bangalore M7/V1/July 04/9 MODULE 7 DATA INPUT METHODS WORKED EXAMPLES 7.1 What is the purpose of data validation program? To detect errors which may have been made by a data entry operator in entering data from forms into a computer’s secondary memory. The detected errors are then corrected to ensure that data file has no errors. 7.2 What are the main principles used in designing forms for data entry? (i) Reduce human efforts in filling forms (ii) Minimize possibility of errors in entering data from forms into a computer’s secondary memory (iii)Minimize effort in entering data from forms into a computer’s secondary memory. 7.3 Design a form to be used by a salesman to report to the office about the sales executed by him at different customer locations See Table below A Salesperson Form Sales Person Your name : Your code : M . R A M A M U R T H Y M R 4 Your budget code: 1 2 Sales details Date: D D M M Y Y Item Code K 2 4 8 J 4 6 8 P 7 6 4 Description Toilet soap Detergent cake Liquid soap bottles Qty. Sold 256 468 28 Price 3.50 2.25 8.45 Enter Totals Customer details Customer name: Customer code: Customer address: PIN 752 14.20 Mode of payment (Tick code) 1 CASH 2 CHEQUE 3 BILL 7.4 Is concise code comprehensive? If not, why? No. In a concise code the aim is to keep the length of the code small whereas in a comprehensive code it is to include as much information as possible about the entity being coded. 7.5 Is meaningful code necessarily comprehensive? No. Meaningful code aids in recognizing the entity being coded whereas a comprehensive code tries to include as much information as possible about the entity being coded. For example BICYCLE 24 indicates a 24 inch height cycle. It is meaningful. A code such as BC 24 G R HERO 2684 Describes 24-inch bicycle, which is for gents, red in color, manufactured by Hero with serial number 2684. 7.6 What is the advantage of serial number code? Why is it not normally used? It is concise, expandable and precise. It is not meaningful or comprehensive and thus not often used. 7.7 Design a group classification code to code (i) motor vehicles, (ii) music cassettes, and (iii) books. (i) Motor vehicles Types of vehicle 2 alphabets Year of manufacture 4 digits Engine CC 4 digits Brand 3 alphabets Serial no. 7 digits Mnemonic codes Vehicle types Two wheeler Three wheeler Private car Taxi Bus code TW RW PC TA BU Manufacturer Bajaj Telco Leyland Maruti Ambassador Vespa Fiat Honda Code BAJ TEL LEL MAR AMB VSP FAT HDA Sample code: PC 19 88 800 MAR 0056789 (ii) Music cassettes Types of music 2 alphabets Mnemonic codes Music type Classical North Classical South Classical West Film North Film South Film West Pop North Pop South Pop West Code CN CS CW FN FS FW PN PS PW Nature of music Instrumental Vocal Orchestra Chorus Code IN VO OR CH Nature of music Type 2 alphabets 1 digit Publisher code Serial no. 3 digits 4 digits Type Mono Stereo Code 1 2 Publisher code: 3 digits, Serial no.: 4 digits. Example: FNIN14506784 (iii) Books ISBN code is a good example. Area U.S. U.K. Germany, U.S.S.R. etc. Example: 0 Publisher code Book no. 8 digits (Total) Check digit Publishers publishing a small number of books have a long publisher code and smaller no. of digits for book no. | 87692 | 617 | 0 7.8 Give an example of significant code. Are significant codes expandable? Code for a shirt SH 40 95 58 Shirt Yes. Collar size (Cm) Chest size (Cm) Sleeve size (Cm) 7.9 Add a modulus-11 check digit to the codes (i) 48467 (ii) 96432 and (iii) 87646257. Check digits are respectively (i) 9 (ii) 8 (iii) 3. 7.10 Modulus–37 check is suitable for alphanumeric codes. Add a modulus-37 character to the codes (i) 4AB9W (ii) XBY483 and (iii) CAZ4642. (i) 2 (ii) N (iii) N. 7.11 If modulus-11 check digit system is to generate detection of multiple identical digit transcription error (i.e., a code such as 45565 is wrongly entered as 48868), what should be constraints on the weights? A digit t becomes x for weights wq, wr, ws. Let wi be the weights. n ∑ widi = p.N if no error i=1 n n ∑ widi = ∑ widi + (wq+ wr+ ws)t =p.N i=1 i=1 i == q,r,s The condition for detecting error is (wq + wr + ws)(x – t) == p.N Therefore, (wq + wr + ws) == p.N Sum of any subset of weights should not be equal to 11 or a multiple of 11. Possible only for codes less than 4 digits long, including check digit. 7.12 A see-saw error is one in which one digit of the code is increased by x and another decreased by x. For example, 486732 becoming 456762. When can modulus-N check detect such errors? Let the kth digit become (dk + t) and qth digit (dq – t) Weighted sum = i =1 i =1 ∑n widi + wkt – wqt with these errors condition is widi + t(wk – wq) == p.N Satisfied if (i) wk == wq (ii) N is prime (iii) |wk – wq| < N These are satisfied if wk = wq, wk, wq > 0 and wk, wq < N. Therefore all weights are distinct 7.13 Why is it useful to assign sequence numbers for data records? What are the types of errors detected by sequence numbering? Can trace missing records using sequence numbers. Records out of sequence can be detected. Excess records (with duplicate sequence numbers) can be detected. 7.14 A set of data records for student examination results has the following format: Roll No. Name Paper 1 Marks (out of 100) Paper 2 Paper 3 Paper 4 ∑n Design for these records a batch control record and a record control field and other appropriate checks for the fields Batch control record (i) No. of records in batch (ii) Sum of marks in papers 1 to 4 (iii) No. of records with marks in papers 1 to 4 >=60 (iv) No. of records with marks in papers 1 to 4 < 40 Record check (i) Sum of marks in papers 1 to 4, (ii) No. of papers in record with marks >= 60 Other checks for the fields (i) Modulus-11 check for Roll no. (ii) Each marks field <= 100, >= 0 (iii) Sum field <= 400 (iv) Flag record with marks in any paper >= 80 and another paper <= 30. 7.15 What is the difference between range check and radix check? Range gives maximum allowable value for a field as determined by the analyst. For example in one paper if maximum marks is 50, range check will use 50 and if it is 100 in another it will use 100 as range. Radix is however an invariant. No. of hours/day are always 24 and is universally known. 7.16 Give some examples of fields where reasonableness check would be applicable. If normal electricity consumption of a consumer is 250 kWh/month, a value of 1500 kWh in a month will be considered unreasonable. Other examples are: (i) Deductions in a paybill (ii) Price/unit of some items (iii)Qty. ordered in comparison to normal averages. 7.17 Give some examples of inter-field relationship checks Employee status vs. salary Age vs. marital status (Age <= 12 cannot normally be married) Age vs. Education 7.18 Design a dialogue hierarchy for entering data on customers (of a manufacturer). Select Menu alternative 1 New customer 2 Delete customer 3 Change customer details Details to be changed Enter details Enter details Verify OK No New name New address Status change Delete Manual 0 Individual 1 Retailer 2 Distributor 3 Wholesale 7.19 Design a dialogue hierarchy and the screens for a system used to reserve seats in long distance buses. Select Menu alternative 1 2 3 Reservation Cancellation Change of date Queries to customer Queries to customer 1. Destination 1. Destination 2. Date 2. Date 3. Time 3. Time 4. No. of seats 4. No. of seats 5. Display position 5. Display refund of seats (status) 6. Enter selection 7. Display ticket Queries to customer 1. Destination 2. Date 3. Time 4. New date 5. New time 6. No. of seats 7. Display position 8. Enter selection 9. Display excess charge Screen 1 Reservation 1 Cancellation 2 Change of date 3 Screen 2 reservation commands • What is your destination ? Mercara • Date of journey? 260589 • Time of bus 0830 • How many seats? • Adults 2 • child 1 • Screen display Front • Queries on terminal User responses (Seats in bus) 1 Entrance 7 11 15 19 23 27 2 3 5 4 6 10 14 18 22 26 32 • already booked 8 12 16 20 24 28 29 30 9 13 17 21 25 31 Which seats do you want ? 19 20 21 • Ticket display DESTINATION MERCARA DATE 260589 TIME 0830 SEAT Nos. 19 20 21 FARE Rs. 140 System Analysis and Design / Data Oriented Systems Design Question Bank Question Bank – 7 7.1 What is a data dictionary? 7.2 Why is a data dictionary necessary? 7.3 What are the main advantages of creating a data dictionary? 7.4 What data about a data element is stored in a data dictionary? 7.5 For the requirements statement given in PPT 7.1.3 (Vendor supplying items to a company) develop the data dictionary entry for vendor code, vendor name and vendor address. 7.6 What is the difference between on-line and off-line data entry? 7.7 Why are input data records divided into batches for off-line data entry? 7.8 What is the purpose of a data validation program? 7.9 What are the main principles used in designing forms for data entry? 7.10 A good and a bad design for entering date in a form is given in Section PPT 7.2.5 and 7.2.6. What are the reasons for saying that one of them is good and the other bad? 7.11 Design a form to be used by a salesman to report to the office about the sales executed by him at different customer locations. 7.12 What is the main difference between menus, templates and command modes of interactive data entry? When is each of these modes appropriate? 7.13 Design a dialogue hierarchy for entering data on customers (of a manufacturer). 7.14 Design a dialogue hierarchy and the screens for a system used to reserve seats in long distance buses. 7.15 Why are data fields coded in an information system? V. Rajaraman/IISc. Bangalore M7/V1/July 04/1 System Analysis and Design / Data Oriented Systems Design Question Bank 7.16 Can the name of a person be used as a code, for say, his bank account? If not, why? 7.17 What are the requirements of a good coding scheme? 7.18 Is a concise code comprehensive? If not, why? 7.19 Is a meaningful code necessarily comprehensive? 7.20 Is a comprehensive code necessarily meaningful? 7.21 Is a precise code necessarily concise? 7.22 What is the advantage of a serial number code? Why is it not normally used? 7.23 What is the main advantage of block codes? 7.24 Design a group classification code to code (i) motor vehicles,, (ii) music cassettes, and (iii) books 7.25 Is a group classification code meaningful? 7.26 Give an example of a significant code. Are significant codes expandable? 7.27 Add a Modulus-11 check digit to the codes (i) 48467, (ii) 96432, and (iii) 87646257. 7.28 Modulus-37 check is suitable for alphanumeric codes. Add a modulus-37 character to the codes (i) 4AB9W, (ii) XBY483, and (iii) CAZ4642. 7.29 The following code was entered by an operator:449632. The last digit is a modulus-11 check digit. Is this code correct? 7.30 If a code uses hexadecimal digits, what should be N if the modulus-N check digit system is to be used with such codes? What are the allowable weights if single transcription and transposition errors are to be detected? V. Rajaraman/IISc. Bangalore M7/V1/July 04/2 System Analysis and Design / Data Oriented Systems Design Question Bank 7.31 If modulus-11 check digit system is to generate detection of multiple identical digit transcription error (i.e., a code such as 45565 is wrongly entered as 48868), what should be the constraints on the weights? 7.32 A see-saw error is one in which one digit of the code is increased by x and another decreased by x. For example, 486732 becoming 456762. When can modulus N check detect such errors? 7.33 Why is it useful to assign sequence numbers for data records? What are the types of errors detected by sequence numbering? 7.34 What is the purpose of batch control record? What is the type of information contained in a batch control record? A set of data records for student examination results has the following format: Roll no. Name Marks (out of 100) Paper 1 Paper 2 Paper 3 Paper 4 Design for these records a batch control record and a record control field and any other appropriate checks for the fields. 7.35 Give some example of fields for which a radix error check is appropriate. 7.36 What is the difference between range check and a radix check? 7.37 What are the appropriate range checks for the age of individuals in an employee file, a high school student file, and height of students in a student file. 7.38 Give some examples of fields where reasonableness check would be applicable. 7.39 Give some examples of inter-field relationship checks. 7.40 What is the main difference between menus, templates and command modes of interactive data entry? When is each of these modes appropriate? V. Rajaraman/IISc. Bangalore M7/V1/July 04/3 System Analysis and Design / Data Oriented Systems Design Question Bank 7.41 Design a dialogue hierarchy for entering data on customers (of a manufacturer). 7.42 Design a dialogue hierarchy and the screens for a system used to reserve seats in long distance buses. V. Rajaraman/IISc. Bangalore M7/V1/July 04/4 System Analysis and Design /Data Oriented Systems Design Pointers References 1. Most of the material in this module has been adapted from the book “Analysis and Design of Information Systems”, 2nd Edition, by V.Rajaraman, Prentice Hall of India, 2003. Chapter 5 (pp. 49-52) and Chapter 11 (pp.154-170). 2. Good material on Data Dictionary is found in K.E.Kendall and J.E.Kendall , “Systems Analysis and Design”, 5th Edition, Pearson Education Asia, 2003. Chapter 10 on Data Dictionaries. Chapter 16 Designing Effective Input. V. Rajaraman/IISc. Bangalore M7/V1/July 04/1 Summary Module 7 1. Data dictionary is a catalogue of all data used in an application. Each entry in the dictionary has the name of the data, its type, origin, destination, range of values,length and where used. 2. It is useful as a documentation and assists in maintaining systems and also in designing data input. 3. Data dictionary is developed using data flows in a DFD and contents of data stores in DFD 4. Data may be input to a computer off-line or on-line. In on-line entry a user enters data interactively via a video terminal connected to the computer. In off-line data entry data filled in forms are entered by operators in a separate PC or a data entry machine. 5. Off-line data entry is suitable if the number of records is very large. 6. In off-line data entry, batches of data are formed and entered. They are checked by a validation program and the corrected records are stored in a file. 7. To reduce errors in input, it is essential to carefully design the forms used for entering data. 8. For interactive data input, special screens are designed on video terminals for easy data entry. Errors in data entry are instantly detected by a validation program during data entry and can be immediately corrected. 9. Common methods of interactive data input is by use of menus, templates and interactive commands for data entry. 10. A menu method is used to pick one out of many alternatives, a template method to enter new data, and a command method to add and delete data. 11. These methods are combined to provide a user the most appropriate technique for a particular type of interactive data entry. 12. Important data elements are coded. Codes are necessary for unique identification, easily cross-referencing and efficient storage and retrieval. 13. There are many methods for coding. An ideal code must be concise, expandable, meaningful, comprehensive and precise. It is not possible to incorporate all these ideal features in a code. 14. Codes are classified as: (i) Serial number codes, (ii) Block codes, (iii) Group classification codes, and (iv) Significant codes. Group classification codes and Significant codes are most meaningful, expandable, precise and comprehensive. They are, however, not concise, Serial and Block number codes are more concise. They are also precise and expandable but are not meaningful and comprehensive. 15. Any error made in entering important data fields such as account codes and identification codes must be detected during data entry. 16. The most common errors made during data entry are: a single digit is incorrectly entered or any two digits in the code are interchanged. These errors are called respectively single transcription and transposition errors and account for 96% of all data entry errors. 17. Given a code, the digits in it starting from the last digit are multiplied by weights 2, 3, 4, etc., and the products are added. The sum is divided by 11. The remainder is subtracted from 11. This number (which is called a check digit) is appended as the last digit of the code. The code constructed in this way is called a midulus-11 check digit code. 18. After data entry the digits in the code starting from the last digit are multiplied by weights 1, 2, 3, 4, etc., and the products are added. The sum is divided by 11. If the remainder is not zero then there is an error in the code. 19. Modulus-11 check digit code guarantees detection of all single transcription and transposition errors. It also detects 95% of all other errors. 20. It is essential to design good data validation programs to prevent data entry errors from corrupting files of input data. Validation programs need information for detecting errors. This information is provided by controls exercised during data preparation. 21. Important control mechanisms are; giving unique sequence numbers to each data record, providing a batch control record containing a count of number of records and a total of one of the fields.. 22. The same data is entered by two different persons and compared to reduce transcription errors. 23. Besides this, individual data fields are checked using information on their range of allowed values, range of reasonable values, and relationships between different fields. Batch control provides information to detect incorrect values entered, missing records, and data in the wrong sequence. 24. With the advent of Personal Computers, remote terminals connected to a computer and local computer networks, considerable amount of data is entered in files interactively. Question Bank – 7 7.1 What is a data dictionary? 7.2 Why is a data dictionary necessary? 7.3 What are the main advantages of creating a data dictionary? 7.4 What data about a data element is stored in a data dictionary? 7.5 For the requirements statement given in PPT 7.1.3 (Vendor supplying items to a company) develop the data dictionary entry for vendor code, vendor name and vendor address. 7.6 What is the difference between on-line and off-line data entry? 7.7 Why are input data records divided into batches for off-line data entry? 7.8 What is the purpose of a data validation program? 7.9 What are the main principles used in designing forms for data entry? 7.10 A good and a bad design for entering date in a form is given in Section PPT 7.2.5 and 7.2.6. What are the reasons for saying that one of them is good and the other bad? 7.11 Design a form to be used by a salesman to report to the office about the sales executed by him at different customer locations. 7.12 What is the main difference between menus, templates and command modes of interactive data entry? When is each of these modes appropriate? 7.13 Design a dialogue hierarchy for entering data on customers (of a manufacturer). 7.14 Design a dialogue hierarchy and the screens for a system used to reserve seats in long distance buses. 7.15 Why are data fields coded in an information system? 7.16 Can the name of a person be used as a code, for say, his bank account? If not, why? 7.17 What are the requirements of a good coding scheme? 7.18 Is a concise code comprehensive? If not, why? 7.19 Is a meaningful code necessarily comprehensive? 7.20 Is a comprehensive code necessarily meaningful? 7.21 Is a precise code necessarily concise? 7.22 What is the advantage of a serial number code? Why is it not normally used? 7.23 What is the main advantage of block codes? 7.24 Design a group classification code to code (i) motor vehicles,, (ii) music cassettes, and (iii) books 7.25 Is a group classification code meaningful? 7.26 Give an example of a significant code. Are significant codes expandable? 7.27 Add a Modulus-11 check digit to the codes (i) 48467, (ii) 96432, and (iii) 87646257. 7.28 Modulus-37 check is suitable for alphanumeric codes. Add a modulus-37 character to the codes (i) 4AB9W, (ii) XBY483, and (iii) CAZ4642. 7.29 The following code was entered by an operator:449632. The last digit is a modulus-11 check digit. Is this code correct? 7.30 If a code uses hexadecimal digits, what should be N if the modulus-N check digit system is to be used with such codes? What are the allowable weights if single transcription and transposition errors are to be detected? 7.31 If modulus-11 check digit system is to generate detection of multiple identical digit transcription error (i.e., a code such as 45565 is wrongly entered as 48868), what should be the constraints on the weights? 7.32 A see-saw error is one in which one digit of the code is increased by x and another decreased by x. For example, 486732 becoming 456762. When can modulus N check detect such errors? 7.33 Why is it useful to assign sequence numbers for data records? What are the types of errors detected by sequence numbering? 7.34 What is the purpose of batch control record? What is the type of information contained in a batch control record? A set of data records for student examination results has the following format: Roll no. Name Marks (out of 100) Paper 1 Paper 2 Paper 3 Paper 4 Design for these records a batch control record and a record control field and any other appropriate checks for the fields. 7.35 Give some example of fields for which a radix error check is appropriate. 7.36 What is the difference between range check and a radix check? 7.37 What are the appropriate range checks for the age of individuals in an employee file, a high school student file, and height of students in a student file. 7.38 Give some examples of fields where reasonableness check would be applicable. 7.39 Give some examples of inter-field relationship checks. 7.40 What is the main difference between menus, templates and command modes of interactive data entry? When is each of these modes appropriate? 7.41 Design a dialogue hierarchy for entering data on customers (of a manufacturer). 7.42 Design a dialogue hierarchy and the screens for a system used to reserve seats in long distance buses. References 1. Most of the material in this module has been adapted from the book “Analysis and Design of Information Systems”, 2nd Edition, by V.Rajaraman, Prentice Hall of India, 2003. Chapter 5 (pp. 49-52) and Chapter 11 (pp.154-170). 2. Good material on Data Dictionary is found in K.E.Kendall and J.E.Kendall , “Systems Analysis and Design”, 5th Edition, Pearson Education Asia, 2003. Chapter 10 on Data Dictionaries. Chapter 16 Designing Effective Input. MODULE 8 LOGICAL DATABASE DESIGN OBJECTIVE QUESTIONS There are 4 alternative answers to each question. One of them is correct. Pick the correct answer. Do not guess. A key is given at the end of the module for you to verify your answer LEARNING UNIT 1 8.1.1 An entity is (a) a collection of items in an application (b) a distinct real world item in an application (c) an inanimate object in an application (d) a data structure 8.1.2 Pick entities from the following: (i) vendor (ii) student (iii) attends (iv) km/hour (a) i, ii, iii (b) i, ii, iv (c) i and ii (d) iii and iv 8.1.3 A relationship is (a) an item in an application (b) a meaningful dependency between entities (c) a collection of related entities (d) related data 8.1.4 Pick the relationship from the following: (a) a classroom (b) teacher (c) attends (d) cost per dozen 8.1.5 Pick the meaningful relationship between entities (a) vendor supplies goods (b) vendor talks with customers (c) vendor complains to vendor (d) vendor asks prices 8.1.6 The entity set is a (a) set of entities (b) collection of different entities (c) collection of related entities (d) collection of similar entities 8.1.7 Pick entity set from the following (a) all vendors supplying to an organization (b) vendors and organizations they supply (c) vendors and transporters (d) a vendor supplying to many organizations 8.1.8 Attributes are (i) properties of relationship (ii) attributed to entities (iii) properties of members of an entity set (a) i (b) i and ii (c) i and iii (d) iii 8.1.9 The attributes of relationship teaches in teacher teaches course should be (a) teacher code, teacher name, dept, phone no (b) course no, course name, semester offered, credits (c) teacher code, course no, semester no (d) teacher code, course no, teacher name, dept, phone no 8.1.10 The expansion of E-R diagram is (a) Entity-Relationship diagram (b) Entity-Relative diagram (c) Entity-Relation diagram (d) Entity-Rationalized diagram 8.1.11 In an E-R diagram entities are represented by (a) circles (b) rectangles (c) diamond shaped box (d) ellipse 8.1.12 In an E-R diagram relationship is represented by (a) circles (b) rectangles (c) diamond shaped box (d) ellipse 8.1.13 Entities are identified from the word statement of a problem by (a) picking words which are adjectives (b) picking words which are nouns (c) picking words which are verbs (d) picking words which are pronouns 8.1.14 Relationships are identified from the word statement of a problem by (a) picking words which are adjectives (b) picking words which are nouns (c) picking words which are verbs (d) picking words which are pronouns 8.1.15 One entity may be (a) related to only one other entity (b) related to itself (c) related to only two other entities (d) related to many other entities LEARNING UNIT 2 8.2.1 By relation cardinality we mean (a) number of items in a relationship (b) number of relationships in which an entity can appear (c) number of items in an entity (d) number of entity sets which may be related to a given entity 8.2.2 If an entity appears in only one relationship then it is (a) a 1:1 relationship (b) a 1:N relationship (c) a N:1 relationship (d) a N:M relationship 8.2.3 If an entity appears in N relationships then it is (a) a 1:1 relationship (b) a 1:N relationship (c) a N:1 relationship (d) a N:M relationship 8.2.4 If an entity appears in not more than 5 relationships then it is a (a) 1:1 relationship (b) 1:5 relationship (c) 5:1 relationship (d) 5:5 relationship 8.2.5 A pilot can fly three types of planes and a plane can be piloted by any qualified pilot. The pilot-plane type relationship is (a) N:3 (b) 3:N (c) 1:3 (d) 3:1 8.2.6 A student can take not more than 5 subjects in a semester. The number of students allowed in a subject in a semester is not more than 40. The student – subject relationship is: (a) 5:40 (b) 40:5 (c) N:5 (d) 40:M 8.2.7 The following E-R diagram is interpreted as follows: (a) A doctor treats upto N patients (b) A doctor treats exactly N patients (c) A doctor may treat upto N patients; Some doctors may not treat any patients (d) A doctor will treat patients based on some conditions Doctor Treat Patients 8.2.8 A relation is (a) an entity (b) a relationship (c) members of a relationship set (d) members of an entity set or a relationship set 8.2.9 Rows of a relation are called (a) tuples (b) a relation row (c) a data structure (d) an entity 8.2.10 The rows of a relation (a) must be in specified order (b) may be in any order (c) in ascending order of key (d) in descending order of key 8.2.11 The columns of a relation (a) must be in specified order (b) may be in any order (c) with key field in first column (d) with largest width column last 8.2.12 Relations are used in logical database design because (i) sound theory of relations facilitates systematic design of relational databases (ii) they are very popular (iii) they are flat files and easy to store and retrieve from computer’s memory (iv) E-R diagrams allow design of relations (a) i and ii (b) i and iii (c) ii and iii (d) iii and iv LEARNING UNIT 3 8.3.1 Normalization is a process of restructuring a relation to (a) minimize duplication of data in a database (b) maximize duplication of data to ensure reliability (c) make it of uniform size (d) allow addition of data 8.3.2 Normalization of database is essential to (i) avoid accidental deletion of required data when some data is deleted (ii) eliminate inconsistencies when a data item is modified in the database (iii) allows storage of data in a computer’s disk (iv) use a database management system (a) i and iii (b) i and ii (c) ii and iii (d) ii and iv 8.3.3 The process of normalization (a) is automatic using a computer program (b) requires one to understand dependency between attributes (c) is manual and requires semantic information (d) is finding the key of a relation 8.3.4 The following relation is not normalized because Roll no 4568 Name A.B Moni Courses taken Course No Dept CS 101 EE 545 Phy 325 Phy 101 Chem202 Math 103 CS 101 CS 101 C.S. E.E. Physics Physics Chemistry Math. C.S. C.S. Sem 1 2 1 1 2 1 1 1 4894 R. Chamnlal 4954 R. Gupta (a) It is difficult to store due to non–uniform size of the attributes (b) Roll no. 4568 have 3 course line whereas Roll no. 4954 has only one course line (c) The composite attribute (CS 101, C.S., 1) is repeated (d) Some item lines have composite attributes 8.3.5 The relation given in Exercise 10.4.4 may be converted to 1 NF relation by (a) eliminating composite attributes (b) eliminating common attributes (c) duplicating common attributes as many times as lines in corresponding attributes (d) putting composite attributes in a separate table 8.3.6 A relation is said to be in 1NF if (a) there is no duplication of data (b) there are no composite attributes in the relation (c) there are only a few composite attributes (d) all attributes are of uniform type 8.3.7 The number of normal forms which has been proposed and discussed in the book are (a) 3 (b) 4 (c) 5 (d) 6 8.3.8 A relation which is in a higher normal form (a) implies that it also qualifies to be in lower normal form (b) does not necessarily satisfy the conditions of lower normal form (c) is included in the lower normal form (d) is independent of lower normal forms 8.3.9 Given an attribute x, another attribute y is dependent on it, if for a given x (a) there are many y values (b) there is only one value of y (c) there is one or more y values (d) there is none or one y value 8.3.10 An attribute y may be functionally dependent on (i) a composite attribute x,y (ii) a single attribute x (iii) no attribute (a) i and ii (b) i and iii (c) ii and iii (d) iii 8.3.11 A second Normal Form (2 NF) relation should (a) be in 1 NF (b) not have a composite key (c) not have attributes dependent on key attribute (d) not have attributes dependent on one another 8.3.12 A relation is said to be in 2 NF if (i) it is in 1 NF (ii) non-key attributes dependent on key attribute (iii) non-key attributes are independent of one another (iv) if it has a composite key, no non-key attribute should be dependent on part of the composite key (a) i, ii, iii (b) i and ii (c) i, ii, iv (d) i, iv 8.3.13 Given the following relation vendor order (vendor no, order no, vendor name, qty supplied, price/unit) it is not in 2 NF because (a) it is not in 1 NF (b) it has a composite key (c) non-key attribute vendor name is dependent on vendor no. which is one part of the composite key (d) Qty supplied and price/unit are dependent 8.3.14 Given the following relation vendor order (vendor no, order no, vendor name, qty supplied , price/unit) the second normal form relations are (a) vendor (vendor no, vendor name) qty (qty supplied, price/unit) order (order no, qty supplied) (b) vendor (vendor no, vendor name) order (order no, qty supplied, price/unit) (c) vendor (vendor no, vendor name) order (order no, qty supplied, price/unit) vendor order (vendor no, order no) (d) vendor (vendor no, vendor name, qty supplied, price/unit) vendor order (order no, vendor no) 8.3.15 A third Normal Form (3 NF) relation should (a) be in 2 NF (b) not have complete key (c) not be 1 NF (d) should not have non-key attributes depend on key attribute 8.3.16 A relation is said to be in 3 NF if (i) it is in 2 NF (ii) non-key attributes are independent of one another (iii) key attribute is not dependent on part of a composite key (iv) has no multi-valued dependency (a) i and iii (b) i and iv (c) i and ii (d) ii and iv 8.3.17 Given the following relation it is not 3 NF because Student (roll no, name, course no, course max. marks, year of study, address) (a) it is not in 2 NF (b) it does not have composite key (c) non-key attributes course no and course max. marks are functionally dependent (d) it has more than 3 non-key attributes 8.3.18 Given the following relation Student (roll no, name, course no, course max. marks, year of study, address) The corresponding 3 NF relations are (a) student (roll no, name, year of study, address) course (course no, course max. marks) (b) student ( roll no, name, year of study, address) student (roll no, course no) course (course no, course max. marks) (c) student (roll no , name, address) year (roll no, year of study) course (course no, course max. marks) (d) student (roll no, name, address) course (course no, course max. marks, year of study) 8.3.19 Boye Codd Normal Form (BCNF) is needed when (a) two non-key attributes are dependent (b) there is more then one possible composite key (c) there are two or more possible composite overlapping keys and one attribute of a composite key is dependent on an attribute of another composite key (d) there are two possible keys and they are dependent on one another 8.3.20 A relation is said to be in BCNF when (a) it has overlapping composite keys (b) it has no composite keys (c) it has no multivalued dependencies (d) it has no overlapping composite keys which have related attributes 8.3.21 A 3 NF relation is converted to BCNF by (a) removing composite keys (b) removing multivalued dependencies (c) dependent attributes of overlapping composite keys are put in a separate relation (d) dependent non-key attributes are put in a separate table 8.3.22 BCNF is needed because (a) otherwise tuples may be duplicated (b) when a data is deleted tuples may be lost (c) updating is otherwise difficult (d) when there is dependent attributes in two possible composite keys one of the attributes is unnecessarily duplicated in the tuples 8.3.23 Given the relation Supplier(s_id, p_order, s_name, qty) Given that there is a unique s_name for each s_id and that s_id, p_order is a composite key, find the correct statement among the following: (i) this relation is a BCNF (ii) this is 3 NF relation (iii) this is a 2 NF relation (iv) this is a 1 NF relation (a) i and ii (b) ii and iii (c) i and iv (d) i and iii 8.3.24 Given the relation of Exercise 10.7.5 it is reduced to the following BCNF relation (a) Supplier (s_ids, s_name) Purchase (s_id, p_order, qty) (b) Supplier (s_id, s_name) Purchase (p_order, qty) (c) Purchase (s_id, p_order) Supplier (s_name, qty) (d) Supplier (s_id, s_name, qty) Purchase (s_id, p_order) 8.3.25 Fourth normal form (4 NF) relations are needed when (a) there are multivalued dependencies between attributes in composite key (b) there are more than one composite key (c) there are two or more overlapping composite keys (d) there are multivalued dependency between non-key attributes 8.3.26 A 3 NF relation is split into 4 NF (a) by removing overlapping composite keys (b) by splitting into relations which do not have more than one independent multivalued dependency (c) removing multivalued dependency (d) by putting dependent non-key attribute in a separate table 8.3.27 A relation project guidance Project Guidance(professor, project, student no. st-name, dept) A professor can give many projects to many students A project will have many students A project may be guided by many professors The 4 NF relation corresponding to this are (a) Prof_Project (professor, st_name, dept) Proj_stud (project, student no.) (b) Prof_stud (professor, student no) Proj_stud (project, student no) Student (student no, st_name, dept) (c) Student (student no, st_name, dept) Professor(professor, project) (d) Professor( professor, project, dept) Student (student no, st_name, dept) 8.3.28 The project guidance relation of Exercise 10.8.3 needs further normalization to 5 NF because (a) There are too many multivalued dependencies (b) Multivalued dependency and simple dependency are mixed in the 4 NF relation (c) Spurious tuples got introduced when the 4 NF relations are combined due to the fact that a professor can guide only specified projects (d) 4 NF relations have composite keys 8.3.29 5 NF relations equivalent to the relation of Exercise 10.8.3 are (a) Prof_stud (professor, student_no) Proj_stud ( project, student_no) Prof_proj (professor, project) Student (student_no, st_name, dept) (b) Professor (professor, professor details) Student (student_no, st_name, dept) Project (project no, project details) (c) Prof_stud (professor, student_no) Prof_proj (professor, project) (d) Prof_stud (professor, student_no) Stud_proj (student_no, project) Student (student_no, st_name, dept) LEARNING UNIT 4 8.4.1 The ORDER PLACED FOR relation in Mini-case example 1 has the composite key order no, item code because (a) item code has a multivalued dependency with order no. (b) the non-key attributes are dependent on the composite key order no, item code (c) if order no is the only key we cannot find qty. ordered, price/unit, delivery time (d) if item code is the only key we cannot find order no. uniquely 8.4.2 The relation SUPPLIES in Mini-case example 1 of Section 10.10 requires normalization because (a) it has a composite key with three attributes (b) the non-key attributes are dependent on part of composite key (c) the attributes item code and order no of the composite key have multivalued dependency (d) vendor code and order no have a multivalued dependency TEACHES-COURSES relation in Mini-case example 2 is in (a) 3 NF. Does not need any further normalization (b) BCNF (c) 4 NF (d) unnormalized form 8.4.3 8.4.4 TEACHER-STUDENT relation in Mini-case example 2 is required because (a) it is in 3 NF (b) it has a multivalued key (c) it has a composite key with multivalued dependency relation (d) Without this relation database is incomplete and some queries cannot be answered LEARNING UNIT 5 8.5.1 By redundancy in a file based system we mean that (a) unnecessary data is stored (b) same data is duplicated in many files (c) data is unavailable (d) files have redundant data 8.5.2 Data integrity in a file based system may be lost because (a) the same variable may have different values in different files (b) files are duplicated (c) unnecessary data is stored in files (d) redundant data is stored in files 8.5.3 Data availability is often difficult in file based system (a) as files are duplicated (b) as unnecessary data are stored in files (c) as one has to search different files and these files may be in different update states (d) redundant data are stored in files 8.5.4 Management policy changes are difficult to implement in a file based system because (a) relating data in different files is difficult (b) files are duplicated (c) redundant data are stored (d) unnecessary data is stored 8.5.5 Some of the objectives of a database management system are to (i) minimize duplication of data (ii) ensure centralized management control of data (iii) ease retrieval of data (iv) maintain a data dictionary (a) i and ii (b) i, ii and iv (c) i and iii (d) i, ii and iii 8.5.6 A database is a (a) collection of files (b) collection of inputs and outputs of application (c) collection of related data necessary to manage an organization (d) data resource of an organization 8.5.7 A database models data so that it is (a) appropriate for application (b) independent of application program (c) optimized for most frequent applications (d) optimized for all applications 8.5.8 A database should be designed to allow providing (a) different views of portions of data requested by an application (b) data only to selected applications as decided by an organization (c) a uniform view of data to all applications (d) data to all applications 8.5.9 The abbreviation DBMS stands for (a) Data Base Manipulation System (b) Data Bank Manipulating System (c) Data Base Management System (d) Data Bank Management System 8.5.10 A DBMS is (a) another name for database system (b) independent of a database (c) dependent on application programs (d) is a set of procedures which manage a database 8.5.11 A DBMS (a) is a set of procedures (b) manages a database (c) is a set of procedures to manage a database to provide data as required by applications (d) provides data to applications 8.5.12 One of the main objectives of a DBMS is to (a) Create a database for an organization (b) Facilitate sharing of a database by current and future applications (c) Allow sharing application programs (d) Replace file based systems 8.5.13 Database is (a) an important resource of an organization (b) not relevant to existing programs (c) not relevant for future programs (d) not as good as files as there is redundancy 8.5.14 By data independence we mean application programs (a) do not need data (b) may be developed independent of data (c) may be developed without knowing the organization of data (d) may be developed with independent data 8.5.15 Data independence allows (i) no changes in application programs (ii) change in database without affecting application programs (iii) hardware to be changed without affecting application programs (iv) system software to be changed without affecting application programs (a) i, ii (b) ii, iii (c) ii, iii, iv (d) i, ii, iv 8.5.16 Data independence allows (a) sharing the same database by several applications (b) extensive modification of applications (c) no data sharing between applications (d) elimination of several application programs 8.5.17 Among objectives of DBMS are ensuring (i) data integrity (ii) data redundancy (iii) data security (iv) easy data retrieval (a) i, ii (b) i, iii (c) i, iii, iv (d) i, ii, iii 8.5.18 DBMS (a) does not allow replication of data (b) allows controlled replication of data if it improves performance (c) does not allow common data to be duplicated (d) does not allow replication as it adversely affects reliability 8.5.19 By data integrity we mean (a) maintaining consistent data values (b) integrated data values (c) banning improper access to data (d) not leaking data values 8.5.20 Data integrity is ensured by (a) good data editing (b) propagating data changes to all data items (c) preventing unauthorized access (d) preventing data duplication 8.5.21 By data security in DBMS we mean (a) preventing access to data (b) allowing access to data only to authorized users (c) preventing changing data (d) introducing integrity constraints 8.5.22 DBMS must implement management controls to (i) control access rights to users (ii) implement audit trail when changes are made (iii) allow data to be used extensively in the organization (iv) duplicate databases (a) i, ii (b) ii, iii (c) iii, iv (d) i, iv LEARNING UNIT 6 8.6.1 An E-R modelling for given application leads to (a) conceptual data model (b) logical data model (c) external data model (d) internal data model 8.6.2 A conceptual data model is converted using a Relational Data Base Management System to a (a) logical data model (b) external data model (c) internal data model (d) an entity-relation data model 8.6.3 A subset of logical data model accessed by programmers is called a (a) conceptual data model (b) external data model (c) internal data model (d) an entity-relation data model 8.6.4 When a logical model is mapped into a physical storage such as a disk store the resultant data model is known as (a) conceptual data model (b) external data model (c) internal data model (d) disk data model 8.6.5 A DBMS has the following components (i) a data definition language (ii) a query language (iii) a security system (iv) audit trail (a) i, ii (b) i, ii, iii (c) i, ii, iii, iv (d) i, ii, iv 8.6.6 A check pointing system is needed (a) to ensure system security (b) to recover from transient faults (c) to ensure system privacy (d) to ensure system integrity 8.6.7 A database administrator (a) administers data in an organization (b) controls all inputs and all outputs of programs (c) is controller of data resources of an organization (d) controls all data entry operators 8.6.8 The responsibilities of a database administrator includes (i) maintenance of data dictionary (ii) ensuring security of database (iii) ensuring privacy and integrity of data (iv) obtain an E-R model (a) i, ii (b) i, ii, iii (c) i, ii, iii, iv (d) ii, iii, iv 8.6.9 Access right to a database is controlled by (a) top management (b) system designer (c) system analyst (d) database administrator 8.6.10 The sequence followed in designing a DBMS are (a) physical model conceptual model logical model (b) logical model physical model conceptual model (c) conceptual model logical model physical model (d) conceptual model physical model logical model 8.6.11 Designing physical model of DBMS requires information on (i) data volume (ii) frequency of access to data (iii) programming language used (iv) secondary memory characteristics (a) i, ii (b) i, ii, iii (c) i, ii, iii, iv (d) i, ii, iv 8.6.12A good database design (i) caters primarily to current needs (ii) caters to current and future needs as organizations grow (iii) has to be modified when hardware is upgraded (iv) ensures data security (a) i, ii (b) i, ii, iii (c) ii, iv (d) iii, iv 8.6.13 A good database design (i) is expandable with growth and changes in organization (ii) easy to change when software changes (iii) ensures data integrity (iv) allows access to only authorized users (a) i, ii (b) ii, iii (c) i, ii, iii, iv (d) i, ii, iii KEY TO OBJECTIVE QUESTIONS 8.1.1 8.1.7 8.1.13 8.2.4 8.2.10 8.3.4 8.3.10 8.3.16 8.3.22 8.3.28 8.5.1 8.5.7 b a b b b d a c d c b b 8.1.2 c 8.1.8 c 8.1.14 c 8.2.5 a 8.2.11 b 8.3.5 c 8.3.11 a 8.3.17 c 8.3.23 d 8.3.29 a 8.5.2 a 8.5.8 a 8.5.14 c 8.5.20 b 8.6.4 8.6.10 c c 8.1.3 b 8.1.9 c 8.1.15 d 8.2.6 b 8.2.12 b 8.3.6 b 8.3.12 c 8.3.18 b 8.3.24 a 8.4.1 a 8.5.3 c 8.5.9 c 8.5.15 c 8.5.21 b 8.6.5 c 8.6.11 d 8.1.4 8.1.10 8.2.1 8.2.7 8.3.1 8.3.7 8.3.13 8.3.19 8.3.25 8.4.2 8.5.4 c a b c a d c c a c a 8.1.5 8.1.11 8.2.2 8.2.8 8.3.2 8.3.8 8.3.14 8.3.20 8.3.26 8.4.3 8.5.5 a 8.1.6 d b 8.1.12 c a 8.2.3 b d 8.2.9 a b 8.3.3 b a 8.3.9 b c 8.3.15 a d 8.3.21 c b 8.3.27 b a 8.4.4 d d 8.5.6 c 8.5.12 b 8.5.18 b 8.6.2 8.6.8 a b 8.5.10 d 8.5.16 a 8.5.22 a 8.6.6 b 8.6.12 c 8.5.11 c 8.5.17 c 8.6.1 8.6.7 a c 8.5.13 a 8.5.19 a 8.6.3 b 8.6.9 d 8.6.13 c System Analysis and Design / Data Input Methods Motivation Motivation During systems analysis it is essential for an analyst to decide the necessary and sufficient data for designing an application. DFD gives the data flows and stores of a system Individual data elements of data flows and stores can be catalogued Such a catalogue with description of each element and their types will be an invaluable aid while designing a system. A catalogue will also bring out if any data is duplicated/missed A catalogue will also be an invaluable documentation of a system Such a catalogue is called Data dictionary-It is actually metadata, i.e., data about data. After data dictionary is designed one needs to determine how the data is to be input. Data input methods depend on whether the data is filled in by customers in forms manually and later input by data entry operators or data is directly input by users on PC’s. We thus need to understand both these methods. Unless data input is correct, results will be unreliable Information systems normally have a large volume of data Because of large volume special controls are needed to ensure correctness of data input - otherwise it is difficult to find which data is incorrect Thus it is important to design appropriate data input methods to prevent errors while entering data V. Rajaraman/IISc. Bangalore //V1/July 04/1 System Analysis and Design / Data Input Methods Motivation Key data elements are important to identify records. They need to be unique, concise and understandable by users. Thus we need to study methods of coding key data element V. Rajaraman/IISc. Bangalore //V1/July 04/1 MODULE 8 LOGICAL DATABASE DESIGN Learning Units 8.1 Entity-relationship(E-R) modelling of data elements of an application. 8.2 Organization of data as relations 8.3 Normalization of relations 8.4 Creation of logical relational database 8.5 Objectives of database management system(DBMS) 8.6 Overview of DBMS. Systems Analysis And Design © V. Rajaraman LEARNING GOALS In this module we will learn: 1. 2. 3. 4. 5. 6. 7. 8. The Entity-Relationship(ER) modelling to develop a conceptual model of data. How to organize data required in an application as relations The need for normalizing relations The various normal forms and their relevance How to normalize relations to successive higher normal forms to form a relational database The need for an integrated database in organizations The goals of Data Base Management systems (DBMS) The structure and organization of DBMS. Systems Analysis And Design © V. Rajaraman 1 of 72 MOTIVATION When a DFD is developed we have a knowledge of all data elements required by an application Data dictionary lists all data elements but does not say anything about relationships between data elements Relationships are needed to logically group data elements into related sets or tables Systems Analysis And Design © V. Rajaraman 2 of 72 MOTIVATION Such an organization - Reduces data duplication - Simplifies adding, deleting and updating data - Simplifies retrieval of desired data Systems Analysis And Design © V. Rajaraman 3 of 72 MOTIVATION Logical databases give conceptual model. Logical databases need to be stored in physical media such as a hard disk for use by applications A system is needed to map the logical database to a physical medium which is transparent to an application program. Database management systems achieve this purpose Systems Analysis And Design © V. Rajaraman 4 of 72 LOGICAL DATABASE DESIGN-INTRODUCTION Purpose to develop conceptual model of data This model specifies relationships among data items Using this, raw data are organized into tables of related data These tables are organized in such a way that: a) duplication of data is reduced b) operations of adding,deleting, changing data(together know as updating data) is simplified and systematized c) systematization reduces accidental errors d) Retrieval of data is facilitated Collection of these tables are called the database for the application 8.1.1 Systems Analysis And Design © V. Rajaraman 5 of 72 LOGICAL DATABASE DESIGN-INTRODUCTION Loosely one may call organization of related data put in a table as a “RELATION“ Systematization by which related data are put in a table is called “NORMALIZATION” A method called entity-relationship analysis facilitates creation of relations 8.1.2 Systems Analysis And Design © V. Rajaraman 6 of 72 ENTITY-RELATIONSHIP MODEL ENTITY: SPECIFIES DISTINCT REAL WORLD ITEMS IN AN APPLICATION For example: vendor,item,student,course,teachers RELATIONSHIP: MEANINGFUL DEPENDENCIES BETWEEN ENTITIES For example: vendor supplies items teacher teaches courses Relationships are underlined above 8.1.3 Systems Analysis And Design © V. Rajaraman 7 of 72 ENTITY SETS An entity set is collection of similar entities Examples : * Set of all vendors of an organization is a vendor set * Set of all items in a store is an item set Every member of an entity set is described by its attributes 8.1.4 Systems Analysis And Design © V. Rajaraman 8 of 72 ATTRIBUTES Attributes specify properties of members of entity set Attributes also specify properties of relationships Examples: Entity : Vendor Attributes : vendor code,vendor name,address Relationship : supplies Attributes : vendor code, item code,order no., qty. supplied,date of supply,price/unit 8.1.5 Systems Analysis And Design © V. Rajaraman 9 of 72 ENTITES AND ATTRIBUTES Example Entity : Teacher Attributes : Teacher code,teacher name,department,building,room no,phone no. Relationship : Teaches Attributes : Teacher code,Course no,course name,semester offered, credits, prerequisites 8.1.6 Systems Analysis And Design © V. Rajaraman 10 of 72 ENTITY-RELATIONSHIP DIAGRAM Some entities depend on one another For example: entity vendor and entity items are related as vendors supply items These relationships are described by entity-relationship diagrams (or ER diagrams) In an ER diagram entities are represented by rectangles and relationships by diamond shaped boxes EXAMPLES VENDOR ORDERS ENTITY RELATIONSHIP ENTITY SUPPLIES PLACED WITH ITEMS VENDOR 8.1.7 Systems Analysis And Design © V. Rajaraman 11 of 72 HOW TO IDENTIFY ENTITIES AND RELATIONSHIPS No algorithms to identify entities and relationship When a word statement is used to describe an applications nouns normally are entities and verbs relationships Students attend courses Noun ENTITY Verb RELATIONSHIP Noun ENTITY Teachers teach Courses Noun ENTITY Verb RELATIONSHIP Noun ENTITY 8.1.8 Systems Analysis And Design © V. Rajaraman 12 of 72 ENTITY-RELATIONSHIP DIAGRAMS ONE ENTITY MAY BE RELATED TO MANY OTHER ENTITIES BY MULTIPLE RELATIONSHIPS Order no ORDERS Order no Item code Placed for Placed with Order date Order no Vendor code Item code Qty ordered Price/unit Item code Item name Vendor code items vendors Vendor name address Underlined attributes are unique identifiers 8.1.9 Systems Analysis And Design © V. Rajaraman 13 of 72 RELATION CARDINALITY •Relation cardinality - number of relationships in which an entity can appear •An entity may appear in - Only one relationship or - In fixed number of relationships or - In a variable number of relationships V1 V2 V3 Vendor supplies i1 i2 i3 i4 i5 items Vendor1 supplies items il,i3,i5 Vendor2 supplies items il and i2 Vendor3 supplies items i4 and i5 Observe a vendor can supply many items Observe also that many vendors can supply the same item 8.1.10 Systems Analysis And Design © V. Rajaraman 14 of 72 RELATION CARDINALITY REPRESENTATION vendor N supplies M supplies 6 vendor N items items A vendor cannot supply more than 6 items N vendors can supply a given item vendor 2 supplies M An item cannot be supplied by more than 2 vendors items 8.1.11 Systems Analysis And Design © V. Rajaraman 15 of 72 EXAMPLES Teacher id teacher 1 Name Dept address advises N Teacher id student id Student id Name Dept address students 1 Teacher advises N students Observe that in the advises relationship the identifier need not be composite If it is N : M relationship then the relationship will have the identifier of both participating entities sets 8.1.12 16 of 72 Systems Analysis And Design © V. Rajaraman EXAMPLES (CONTD) Not all teachers may be required to advise A teacher can advise not more than 3 students Represented by ER diagram , small open circle specifies that some teachers may not participate in advises relationship Teacher 1 advises 3 students 8.1.13 Systems Analysis And Design © V. Rajaraman 17 of 72 WHY IS FINDING CARDINALITY NECESSARY The identifier of the relationship will be composite if cardinality is N:M It will be single if cardinality is 1:M If an entity has attached to it ,not all entities in the set may be present in the relationship Will be useful later in designing data base 8.1.14 Systems Analysis And Design © V. Rajaraman 18 of 72 RELATIONS Entity sets and relationship sets are useful in designing data bases Entity - relationship sets may be put as a table of values. This is called a relation Relation name is entity name A row of a relation has a member of an entity or a relationship set 8.2.1 Systems Analysis And Design © V. Rajaraman 19 of 72 EXAMPLES OF A RELATION VENDOR CODE 1456 1685 1284 1694 VENDOR NAME Ram & co Gopal & sons Sivaraj brother Gita ltd ADDRESS 112, 1st cross Bangalore-12 452,4th main, Delhi-8 368 M.G Road, Pune-8 495 N.S.C Road,Calicut RELATION name:Vendor(same name as entity name) RELATION ATTRIBUTES: vendor code, vendor name address Row of relation is called a tuple In a RELATION rows can be in any order columns can be of any order No two rows are identical No two columns are identical 8.2.2 Systems Analysis And Design © V. Rajaraman 20 of 72 RELATION NOTATION Relation is an entire table However a concise notation used Notation uses: relation name and attributes Vendor relation: Vendor(Vendor code, Vendor name,address ) Relation Relation name Identifier Relation attributes 8.2.3 Systems Analysis And Design © V. Rajaraman 21 of 72 EXAMPLES OF RELATIONS Item (Item code, Item name) Supplies (vendor code, Item code ,order no , qty supplied ,date of supply ,price/unit) Relationship Teacher (Teacher_id ,name ,dept ,address ) Advises (Teacher_id ,student_id) Student (Student_id ,name ,dept ,,address) Bold faced attributes are key attributes 8.2.4 Systems Analysis And Design © V. Rajaraman 22 of 72 WHY RELATION ? Ease of storage of entity set as flat file in a computer's storage Sound theory of relations allows systematic design of relational data base Theory of normalizing relations Reduces duplication of data Tries to eliminate errors in adding, deleting, altering items in a data base Simplifies retrieval of data 8.2.5 Systems Analysis And Design © V. Rajaraman 23 of 72 NORMALIZING RELATIONS What is normalization of relations ? Why normalize relations ? How are relations normalized ? Normalizing is the process of restructuring relations to a form which:* Minimizes duplication of data in a database * Operations of adding, deleting,modifying data in a database do not lead to inconsistent data in a database * Retrieval of data simplified 8.3.1 Systems Analysis And Design © V. Rajaraman 24 of 72 WHY NORMALIZE ? A collection of relations relevant for an application constitute a relational database Relations are normalized to ensure that: Collection of relations do not unnecessarily hold duplicate data When a data item is modified it is modified in all relations where it appears - no inconsistency is there When data is deleted accidentally, required data is not deleted Simplifies retrieval of required data 8.3.2 Systems Analysis And Design © V. Rajaraman 25 of 72 HOW ARE RELATIONS NORMALIZED ? UNNORMALIZED RELATION Order no order date Item lines Item code Qty 3687 4627 3214 4629 4627 4627 52 38 20 45 30 40 Price/unit 50.40 60.20 17.50 20.25 60.20 60.20 1456 26021999 1886 1788 04031999 04111999 1. 2. 3. 4. 5. 6. Observe order for many items Item lines has many attributes-called composite attributes Each tuple has variable length Difficult to store due to non-uniformity Given item code difficult to find qty-ordered Called Unnormalized relation Systems Analysis And Design 8.3.3 © V. Rajaraman 26 of 72 FIRST NORMAL FORM Identify composite attributes Convert composite attributes to individual attributes Duplicate common attributes as many times as lines in composite attribute Every attribute describes single property -no composite attribute Some data duplicated This is called First normal form (1NF) also called flat file FIRST NORMAL FORM – 1NF Order No 1456 1456 1456 1886 1886 1788 Order date 26021999 26021999 26021999 04031999 04031999 04111999 Item code 3687 4627 3214 4629 4627 4627 Qty 52 38 20 45 30 40 Price/unit 50.40 60.20 17.50 20.25 60.20 60.20 27 of 72 8.3.4 Systems Analysis And Design © V. Rajaraman HIGHER NORMAL FORMS First normal form is first essential step in normalization Higher normal forms known as 2NF,3NF,BCNF,4NF,5NF exist Each is an improvement of the preceding one A higher normal form also satisfies requirements of a lower normal form 5NF 4NF BCNF 3NF 2NF 1NF 8.3.5 Systems Analysis And Design © V. Rajaraman 28 of 72 HIGHER NORMAL FORMS Higher normalization steps based on : Detecting dependence between attributes Identifying key attributes Detecting multivalued dependency between attributes 8.3.6 Systems Analysis And Design © V. Rajaraman 29 of 72 FUNCTIONAL DEPENDENCY •Given X,Y as two attributes in a relation •Given X if only one value of Y corresponds to it then Y is functionally dependent on X X Y e.g. Given Item code - Item name known Therefore Item code Item name •Functional dependence may be based on a composite attribute X,Z composite attribute Order no. ,item code --------composite attribute Qty , price Y 8.3.7 Systems Analysis And Design © V. Rajaraman 30 of 72 DEPENDENCY DIAGRAM Student (Roll no, name, address, dept., year of study ) Name Address Roll no Department Called relation key Year of study Roll no. determines uniquely values of all other attributes in the relation Therefore it is called a key 8.3.8 Systems Analysis And Design © V. Rajaraman 31 of 72 DEPENDENCY DIAGRAM Vendor code Item code Qty.supplied Date of supply Price/unit Composite key Composite key enclosed in one box in diagram 8.3.9 Systems Analysis And Design © V. Rajaraman 32 of 72 WHY NORMALIZE RELATIONS-REVISITED To ensure that while operating on data base we do not - Lose data - Introduce inconsistencies Operations on data base Insertion of new data should not force leaving blank fields for some attributes Deletion of a tuple should not delete vital information Updating - changing value of an attribute should be possible without exhaustively searching all tuples of relation 8.3.10 Systems Analysis And Design © V. Rajaraman 33 of 72 EXAMPLE TO SHOW NEED FOR NORMALIZATION FIRST NORMAL FORM – 1NF Order No 1456 1456 1456 1886 1886 1788 Order date 26021999 26021999 26021999 04031999 04031999 04111999 Item code 3687 4627 3214 4629 4627 4627 Qty 52 38 20 45 30 40 Price/unit 50.40 60.20 17.50 20.25 60.20 60.20 INSERTION : Enter new item with code 3945 and price 30.50 for which no order has been placed. Inserted tuple will have no values(i.e have to be left blank) for order no and order date DELETION: If order no1886 is deleted the fact that item code 4629 costs 20.25 is lost UPDATE: If price of item 4627 is changed,all instances of this item code have to be changed by exhaustive search-errors possible 8.3.11 Systems Analysis And Design © V. Rajaraman 34 of 72 IDEAL NORMALIZATION At the end of normalization a normalized relation Should have no data values duplicated in rows Every attribute in a row must have a value Deletion of a row must not lead to accidental loss of information Adding a row should not affect other rows A value of an attribute in a row can be changed independent of other rows 8.3.12 Systems Analysis And Design © V. Rajaraman 35 of 72 SECOND NORMAL FORM (2NF) A relation is in 2NF if It is in 1NF Non key attributes functionally dependent on key attribute If key composite then no non-key attribute can functionally depend on one part of the key. 8.3.13 Systems Analysis And Design © V. Rajaraman 36 of 72 2NF FORM NORMALIZATION-EXAMPLE INF : itemorder (Order no,Item code, Order date,Qty,Price/unit) Composite key Dependency diagram Order no Item code Order date Qty Price/unit Not in 2NF as non key attribute dependent on part of a key attribute(Price/unit dependent on Item code) 2NF relations are Order(order no,order date) Prices(item code,price/unit) Order details(order no,item code,qty) Observe a single 1NF relation split into three 2NF relations 8.3.14 Systems Analysis And Design © V. Rajaraman 37 of 72 2NF FORM 1 NF Orders Relation Order No 1456 1456 1456 1886 1886 1788 2 NF Relations ORDERS Order No Order date 1456 26021999 1886 04031999 1788 04041999 ORDER DETAILS Order No Item code 1456 3687 1456 4627 1456 3214 1886 4629 1886 4627 1886 4627 Qty 52 38 20 45 30 40 PRICES Item code Price/unit 3687 50.40 4627 60.20 3214 17.50 4629 20.25 Order date 26021999 26021999 26021999 04031999 04031999 04041999 Item code 3687 4627 3214 4629 4627 4627 Qty 52 38 20 45 30 40 Price/unit 50.40 60.20 17.50 20.25 60.20 60.20 8.3.15 Systems Analysis And Design © V. Rajaraman 38 of 72 ADVANTAGES OF 2NF * NON KEY ATTRIBUTES WHOLLY DEPENDENT ON KEY Repetition of order date removed If order 1886 for item 4629 is cancelled the price/unit is lost in INF as the whole tuple would be deleted In 2NF item price not lost when order 1886 for item 4629 cancelled. Only row 4 in order details deleted Duplication of data in a relation is not there 8.3.16 Systems Analysis And Design © V. Rajaraman 39 of 72 THIRD NORMAL FORM Relation in 2NF There is functional dependence between some Non-key attributes This needs further normalization as the non-keys being dependent leads to unnecessary duplication of data EXAMPLE Student( Roll no, name, dept, year, hostelname ) - If students in a given year are all put in one hostel then year and the hostel are functionally dependent - Year implies hostel-hostel name unnecessarily duplicated - If all students of the year 1 changed to another hostel many tuples need change 8.3.17 Systems Analysis And Design © V. Rajaraman 40 of 72 NORMALIZATION TO 3NF Student( Roll no, name, dept, year ) Hostel (year, hostel) This is in 3NF Example : Employee (empcode,name,salary,project no,termination date of project) * termination date (non-key attribute) Dependent on project no. another non-key attribute •Thus needs normalization 3NF relations : Employee(empcode,name,salary,projectno) Project( Projectno ,termination date of project) 8.3.18 Systems Analysis And Design © V. Rajaraman 41 of 72 NORMALIZATION TO 3NF Passenger(Ticket code,Passenger name,Train no,Departure time,Fare) Train no. and departure time are non-key attributes and are functionally dependent 3NF Relations : Passenger(Ticket code ,Passenger name,Train no, Fare) Train details (Train no., departure time) 8.3.19 Systems Analysis And Design © V. Rajaraman 42 of 72 BOYCE-CODD NORMAL FORM Assume * Relation has more than 1 possible key * Keys composite * Composite keys have common attribute * Non-key attributes not dependent on one another Thus relation in 3NF, still there could be problems due to unnecessary duplication and loss of data accidentally 8.3.20 Systems Analysis And Design © V. Rajaraman 43 of 72 EXAMPLE EXAMPLE Professor (Prof code, Dept, Head of Dept, Percent time) RELATION Professor code P1 P1 P2 P2 P3 P4 P4 Dept Physics Maths Chem Physics Maths Maths Physics Head of dept Ghosh Krishnan Rao Ghosh Krishnan Krishnan Ghosh Percent time 50 50 25 75 100 30 70 Observe two possible composite keys (Prof code, Dept) or (Prof code,Head of Dept) Observe Head of dept name is repeated If professor P2 resigns the fact that Rao is Head of Chemistry is lost as lines 3 & 4 will be deleted 8.3.21 Systems Analysis And Design © V. Rajaraman 44 of 72 EXAMPLE (CONTD) The dependency diagrams are: Prof code Percent time Dept Head of Dept Dept Head of Dept Head of Dept Percent time Prof code Dept Percent time a Prof.spends in the department is dependent on Prof code and Department Head of Dept depends on department 8.3.22 Systems Analysis And Design © V. Rajaraman 45 of 72 NEED FOR BCNF Observe the given relation is in 3NF as non key attributes are independent of one another and wholly dependent on key However there are problems pointed out Problem due to the fact that there are two possible composite keys An attribute of one of the composite key depends on a attribute of the other possible composite key This leads to the problem indicated 8.3.23 Systems Analysis And Design © V. Rajaraman 46 of 72 NORMALIZING TO BCNF •Identify the dependent attributes in the possible composite keys •Remove them and create anew relation EXAMPLE Composite keys 1. Prof code ,Dept Dependency : Dept New relations Professor (Prof code, Dept, Percent time ) 2. Prof code,Head of Dept Head of dept Department ( Dept, Head of Dept) 8.3.24 Systems Analysis And Design © V. Rajaraman 47 of 72 NORMALIZED BCNF RELATIONS Professor code P1 P1 P2 P2 P3 P4 P4 Dept Physics Maths Chem Physics Maths Maths Physics Percent time 50 50 25 75 100 30 70 Dept Physics Maths Chem Head of Dept Ghosh Krishnan Rao Observe there is no redundancy If P2 resigns information of Head of dept of chemistry is not lost 8.3.25 Systems Analysis And Design © V. Rajaraman 48 of 72 FOURTH NORMAL FORM Needed when there are multi-valued dependencies Example : (Vendor, Project, Item) relations Assumptions : -A vendor capable of supplying many items to many projects -A project needs many items -Project may order the same item from many vendors Vendor Items V P Item Project Multivalued dependency Vendor-Project-Item supply capability relation 8.3.26 Systems Analysis And Design © V. Rajaraman 49 of 72 FOURTH NORMAL FORM (CONTD) Vendor code VI VI VI VI V2 V2 V3 V3 Project code PI PI P3 P3 PI PI PI P2 Item code I1 I2 I1 I2 I2 I3 I1 I1 Problems •Item I1 duplicated for VI and also for V3 •If VI is to supply to project P2 but the item to be supplied is not decided there will be blank in item column Relation in BCNF but still has above problem and need normalization to 4NF 8.3.27 Systems Analysis And Design © V. Rajaraman 50 of 72 NORMALIZATION TO 4NF •Split vendor-project-item relation into two relations •Resulting relation must have not more than one independent multivalued dependency RESULTING RELATIONS Vendor VI VI V2 V2 V3 Item 11 12 12 13 11 Project P1 P1 P1 P2 P3 P3 Item I1 I2 I3 I1 I1 I2 OBSERVE NO UNNECESSARY DUPLICATION 8.3.28 Systems Analysis And Design © V. Rajaraman 51 of 72 NEED FOR 5NF In 4NF relations vendor capability to supply items and projects need for items are there. They are obtained by splitting the given relation Looking at relation project-item we see that project P2 requires item I1 From vendor item relation we see that I1 is supplied by V1. This would lead us to infer that(V1,P1,I1)must be a tuple in the original relation but it is not.In other words V1 does not supply item I1 to project P2. This spurious tuple has occurred because vendor V1 may not be allowed to supply item I1 to project P2 Similarly another spurious tuple is (V3,P3,I1) We thus need a third relation which specifies the vendors who are allowed to supply to projects 8.3.29 Systems Analysis And Design © V. Rajaraman 52 of 72 OBTAINING 5NF RELATIONS We add a third relation to the two 4NF relations This is vendor-project relation shown below VENDOR CODE V1 V1 V2 V3 V3 PROJECT NO P1 P3 P1 P1 P2 With this relation added we will not get the spurious tuples (V1,P2,I1),(V3,P3,I1) The two 4NF relations together with the vendor-project relation called 5NF relations obtained by decomposing the original vendor-project-item relation which has a BCNF relation 8.3.30 Systems Analysis And Design © V. Rajaraman 53 of 72 EXAMPLES OF DATA BASE DESIGN ORDER - VENDOR - ITEMS ORDERED EXAMPLE IN CASE STUDY Information on dependencies given : •Orders for item placed with many vendors •A given order no is only to one vendor •Many items supplied against a given order no •A vendor has capacity to supply many items but only some items may be ordered ER - DIAGRAM Placed for Orders Placed with Items Supply Vendors 8.4.1 Systems Analysis And Design © V. Rajaraman 54 of 72 RELATIONS-UNNORMALIZED RELATIONS-UNNORMALIZED 1. ORDERS(Order no,Order date) 2. ORDERS PLACED FOR(Order no,item code,qty ordered,delivery time allowed) 3. ORDERS PLACED WITH(order no,vendor code,item code) 4. VENDOR(Vendor code,vendor name,vendor address) 5. ITEM( item code,item name,price/unit) 6. SUPPLIES(vendor code,item code,order no,qty.supplied,date of supply) NORMALIZATION: Relation 1,4,5 are in 3NF and need no change Relation 2 has a composite key,attributes of composite key not related. Non key attributes dependent on composite key,need no change. Relation 3: order no and item code have multivalued dependency.Relation2 already has order no,item code as composite key.Relation 3 is reduced to: 7.ORDER PLACED WITH(order no,vendor code) Systems Analysis And Design 8.4.2 © V. Rajaraman 55 of 72 NORMALIZATION OF SUPPLIES RELATION Consider relation 6 : 6. SUPPLIES (vendor code, item code, order no, qty supplied, date of supply) •It has a composite key with three attributes •Attributes item code and order no have multi-valued dependency as many items can be supplied in one order •Need normalization to 4NF Normalized to 8. ACTUAL SUPPLIES (order no, item code, qty supplied, date of supply) 9. VENDOR CAPABILITY (vendor code, item code ) The second relation may have items not yet ordered with a vendor but which could be supplied by vendor The Normalized relations are : 1,2,4,5,7,8,9 Systems Analysis And Design 8.4.3 © V. Rajaraman 56 of 72 STUDENT-TEACHER-COURSES EXAMPLE Information on dependence •A teacher may teach more than one course in a semester •A teacher belongs to only one dept. •A student may take many courses in a semester •A course may have many sections taught by different teachers E-R Diagram Teacher Students M Teaches Attends K N Courses P 8.4.4 Systems Analysis And Design © V. Rajaraman 57 of 72 RELATION-UNNORMALIZED 1 TEACHER (Teacher code,teacher name, address, rank, dept) 2 TEACHER_COURSES (Teacher code,Course no,no of students, section no ) 3 COURSE (Course no , semester taught ,Course name, credits) 4 STUDENT (Student no, student name, dept, year ) 5 STUDENT COURSES (Student no, Course no, semester no ) a)Relations 1,3,4 in 3NF b)Relations 2 and 5 have multi-attribute key which has multi-valued dependency but do not need normalization c)However information on which teacher teaches a given student a specified course cannot be found from relations 1 to 5 Therefore Add relation 6 TEACHER_STUDENT (Teacher code, Student no, Course no) THIS SET NORMALIZED 8.4.5 Systems Analysis And Design © V. Rajaraman 58 of 72 CONCLUSIONS We have seen how data relevant to applications are organized logically into set of relations The process of normalization depends on the semantics, i.e, meanings of data and an understanding of how various data elements are related It is thus a human intensive activity-it cannot be automated 8.4.6 Systems Analysis And Design © V. Rajaraman 59 of 72 CONCLUSIONS (CONTD) In most problems in practice one is satisfied with 3NF.Higher normal forms are theoretically important and in some cases becomes essential. There is a mathematical theory which underpins the idea of relations and normalization giving it a sound basis. We have not discussed it in this module. A full fledged course in Data Base will describe in detail the mathematical basis and methods of querying a database 8.4.7 Systems Analysis And Design © V. Rajaraman 60 of 72 PROBLEMS WITH FILE BASED SYSTEMS If programs and files independently developed for each application in the organization it leads to the following problems DATA REDUNDANCY-Some data may be duplicated in many files. e.g.: Address of customer LACK OF DATA INTEGRITY- Duplicated data may be different in different files (New address in one file and old address in another file) DATA AVAILABILITY- May require search of number of files to access a specified data CONTROL BY MANAGEMENT-Difficult as data scattered across files. All files should be accessed to find specified data Aim of data base management systems is to reduce above problems 8.5.1 Systems Analysis And Design © V. Rajaraman 61 of 72 DATABASE AND DATABASE MANAGEMENT SYSTEM DATA BASE - A Collection of related data necessary to manage an organization (Excludes transient data) - Models data resource and is independent of applications DATA BASE MANAGEMENT- A set of procedures that manage the database and provides access to the database in the form required by the application program 8.5.2 Systems Analysis And Design © V. Rajaraman 62 of 72 DATABASE MANAGEMENT SYSTEM Application1 Database Application2 Application1 Database Management System DBMS Organized collection of data for several applications Procedures to provide data in the form required by applications. Applications need not know physical organization of data 8.5.3 Systems Analysis And Design © V. Rajaraman 63 of 72 OBJECTIVES OF A DATABASE MANAGEMENT SYSTEM Data is an organizational resource. It should be collected, validated, protected, logically organized and stored with controlled redundancy. This is the organizational database One of the main objectives of DBMS is to facilitate sharing of a database by current and future applications DBMS must ensure data independence for programs 8.5.4 Systems Analysis And Design © V. Rajaraman 64 of 72 OBJECTIVES OF DBMS Data independence to be provided to application programs Data independence allows -Change of database without affecting application programs -Change of hardware or system software without affecting application programs -Sharing of data by different applications by providing views appropriate for the application 8.5.5 Systems Analysis And Design © V. Rajaraman 65 of 72 OBJECTIVES OF DBMS Control of Redundancy - Avoid unnecessary duplication Relations between data items specified Data integrity - Preserve consistency of data values Data Security - Permit access to data to authorized users only Performance - Provide timely information when needed Ensure management control on addition, deletion, change and dissemination of data 8.5.6 Systems Analysis And Design © V. Rajaraman 66 of 72 OVERVIEW OF DBMS Data needs of current and possible future applications determined Using E-R data modelling conceptual data model found Converted to relations if Relational DBMS used - called logical data model Application programmers access subset of logical data model - called external data model •Logical model mapped to physical model for storage in disk store - called internal model •External data model kept invariant 8.6.1 Systems Analysis And Design © V. Rajaraman 67 of 72 VARIOUS TERMS USED IN DESCRIBING DBMS Current 1 applications 2 Future Applications p q Conceptual model logical model Internal Model Application programs 1 2 p q External Model Database 8.6.2 Systems Analysis And Design © V. Rajaraman 68 of 72 COMPONENTS OF DBMS Data Definition Languages (DDL) to define conceptual, logical and external models Data manipulation and query language called Structured Query Language (SQL) Features to implement security Checkpointing and roll back recovery procedures Record of accesses. Audit trail of changes 8.6.3 Systems Analysis And Design © V. Rajaraman 69 of 72 DATABASE ADMINISTRATOR Database Administrator’s responsibilities Controller of data recourse Ensure integrity,security and privacy Maintenance of data dictionary Coordination of development and maintenance of data base Determining access rights 8.6.4 Systems Analysis And Design © V. Rajaraman 70 of 72 STEPS IN DESIGNING DATABASE INPUTS DESIGN STEPS Design conceptual model Of database Design logical model of Data base Design physical model of database Data on frequency of access, volume Additions/deletion Evaluate performance of physical model Implement User Feedback to improve E-R Diagram based on existing and potential applications Features of DBMS to be used 8.6.5 Systems Analysis And Design © V. Rajaraman 71 of 72 CHARACTERSTICS OF A GOOD DATA BASE DESIGN Satisfy current and future needs of organization Cater to unanticipated user requirements in the best possible way Expandable with growth and changes in organization Easy to change when hardware and software change Ensure data security by allowing only authorized persons to access and modify database 8.6.6 Systems Analysis And Design © V. Rajaraman 72 of 72 MODULE 8 LOGICAL DATABASE DESIGN Contents 1. MOTIVATION AND LEARNING GOALS 2. LEARNING UNIT 1 Entity-relationship(E-R) modelling of data elements of an application. 3. LEARNING UNIT 2 Organization of data as relations 4. LEARNING UNIT 3 Normalization of relations 5. LEARNING UNIT 4 Creation of logical relational database 6. LEARNING UNIT 5 Objectives of database management system(DBMS) 7. LEARNING UNIT 6 Overview of DBMS 8. References LOGICAL DATABASE DESIGN MOTIVATION When a DFD is developed we have knowledge of all data elements required by an application,data dictionary lists all data elements but does not say anything about relationships between data elements. Relationships are needed to logically group data elements into related sets or tables. Such an organization reduces data duplication, simplifies adding, deleting and updating data and simplifies retrieval of desired data Database management systems achieve the purpose of mapping the logical database to a physical medium which is transparent to an application program. LEARNING GOALS At the end of this module you will learn 1.The Entity-Relationship(ER) modelling to develop a conceptual model of data. 2.How to organize data required in an application as relations 3.The need for normalizing relations 4.The various normal forms and their relevance 5.How to normalize relations to successive higher normal forms to form a relational database 6.The need for an integrated database in organizations 7.The goals of Data Base Management systems (DBMS) 8.The structure and organization of DBMS. LEARNING UNIT 1 Entity-relationship(E-R) modelling of data elements of an application. LOGICAL DATABASE DESIGN-INTRODUCTION Loosely one may call organization of related data, put in a table as a “RELATION“. Systematization by which related data are put in a table is called “NORMALIZATION”. A method called entity-relationship analysis facilitates creation of relations. ENTITY-RELATIONSHIP MODEL ENTITY: Specifies distinct real world items in an application For example: vendor, item, student, course, teachers RELATIONSHIP: Meaningful dependencies between entities For example: vendor supplies items teacher teaches courses Relationships are underlined above ENTITY SETS An entity set is collection of similar entities Examples : * Set of all vendors of an organization is a vendor set * Set of all items in a store is an item set Every member of an entity set is described by its attributes ATTRIBUTES Attributes specify properties of members of entity set & also specify properties of relationships Examples: Entity : Vendor Attributes : vendor code, vendor name, address Relationship : supplies Attributes : vendor code, item code,order no., qty. supplied,date of supply,price/unit ENTITES AND ATTRIBUTES Example Entity : Teacher Attributes : Teacher code,teacher name,department,building,room no,phone no. Relationship : Teaches Attributes : Teacher code,Course no,course name,semester offered, credits, prerequisites ENTITY-RELATIONSHIP DIAGRAM Some entities depend on one another, for example, entity vendor and entity items are related as vendors supply items. These relationships are described by entity-relationship diagrams (or ER diagrams). In an ER diagram entities are represented by rectangles and relationships by diamond shaped boxes VENDOR ORDERS ENTITY SUPPLIES RELATIONSHIP PLACED WITH ENTITY ITEMS VENDOR HOW TO IDENTIFY ENTITIES AND RELATIONSHIPS When a word statement is used to describe applications, nouns normally are entities and verbs relationships. Students attend courses Noun ENTITY Noun ENTITY Verb RELATIONSHIP Teachers teach Courses Noun ENTITY Verb RELATIONSHIP Noun ENTITY ENTITY-RELATIONSHIP DIAGRAMS One entity may be related to many other entities by multiple relationships Order no Order date Order no Vendor code Item code Qty ordered Price/unit ORDERS Order no Item code Placed for Placed with RELATION CARDINALITY Item code Vendor code Item name items of relationships in which an entity can appear. name vendors Relation cardinality - number Vendor An entity may appear in- Only one relationship or in fixed number of address relationships or in a variable number of relationships . V1 V2 V3 Vendor supplies i1 i2 i3 i4 i5 items Vendor1 supplies items il,i3,i5 Vendor2 supplies items il and i2 Vendor3 supplies items i4 and i5 Observe a vendor can supply many items, and also that many vendors can supply the same item RELATION CARDINALITY REPRESENTATION A vendor can supply upto M items A vendor cannot supply more than 6 items N vendors can supply a given item vendor vendor N supplies supplies N N vendors can supply a given item M items 6 items vendor 2 supplies An item cannot be supplied by more than 2 vendors A vendor cannot supply more than M items M items WHY IS FINDING CARDINALITY NECESSARY 1. The identifier of the relationship will be composite if cardinality is N:M 2. It will be single if cardinality is 1:M 3. Will be useful later in designing data base LEARNING UNIT 2 Organization of data as relations RELATIONS Entity sets and relationship sets are useful in designing data bases. Entity - relationship sets may be put as a table of values. This is called a Relation. Relation name is entity name. A row of a relation has members of its attributes. The column headings are the names of the attributes. EXAMPLES OF A RELATION VENDOR CODE 1456 1685 1284 1694 VENDOR NAME Ram & co Gopal & sons Sivaraj brother Gita ltd ADDRESS 112, 1st cross Bangalore-12 452,4th main, Delhi-8 368 M.G Road, Pune-8 495 N.S.C Road,Calicut RELATION name:Vendor(same name as entity name) RELATION ATTRIBUTES: vendor code, vendor name, address Row of relation is called a tuple. In a RELATION rows and columns can be in any order. No two rows and two columns are identical. RELATION NOTATION Relation is an entire table Vendor relation: Vendor (Vendor code, Vendor name, address ) Relation name Relation Identifier Relation attributes WHY RELATION ? Entity set can be easily stored as a flat file in a computer's storage Sound theory of relations allows systematic design of relational data base, reduces duplication of data, tries to eliminate errors in adding, deleting, altering items in a data base and simplifies retrieval of data. LEARNING UNIT 3 Normalization of relations NORMALIZING RELATIONS Normalizing is the process of restructuring relations to a form which: Minimizes duplication of data in a database Operations of adding, deleting, modifying data in a database do not lead to inconsistent data in a database Retrieval of data simplified WHY NORMALIZE ? Relations are normalized to ensure that, collection of relations do not unnecessarily hold duplicate data. It is easy to modify a data item as it gets modified in all relations where it appears and hence no consistency is there. When data is deleted accidentally, required data does not get deleted. It also simplifies retrieval of required data. HOW ARE RELATIONS NORMALIZED ? UNNORMALIZED RELATION Order no 1456 order date 26021999 Item lines Item code Qty 3687 4627 3214 52 38 20 Price/unit 50.40 60.20 17.50 20.25 60.20 60.20 1886 4629 45 4627 30 1.Observe order for many items 1788 2.Item lines has many attributes-called composite attributes40 04111999 4627 3.Each tuple has variable length 4.Difficult to store due to non-uniformity 5.Given item code difficult to find qty-ordered and hence called Unnormalized relation 04031999 FIRST NORMAL FORM Identify the composite attributes, convert the composite attributes to individual attributes. Duplicate the common attributes as many times as lines in composite attribute. Every attribute now describes single property and not multiple properties, some data will be duplicated. Now this is called First normal form (1NF) also called flat file. FIRST NORMAL FORM – 1NF Order No 1456 1456 1456 1886 1886 1788 Order date 26021999 26021999 26021999 04031999 04031999 04111999 Item code 3687 4627 3214 4629 4627 4627 Qty 52 38 20 45 30 40 Price/unit 50.40 60.20 17.50 20.25 60.20 60.20 HIGHER NORMAL FORMS First normal form is first essential step in normalization. Higher normal forms known as 2NF, 3NF, BCNF, 4NF, 5NF also exist. Each is an improvement of the preceding one. A higher normal form also satisfies requirements of a lower normal form 5NF 4NF BCNF 3NF 2NF 1NF Higher normalization steps are based on : Detecting dependence between attributes Identifying key attributes Detecting multivalued dependency between attributes FUNCTIONAL DEPENDENCY Given X,Y as two attributes in a relation Given X if only one value of Y corresponds to it then Y is functionally dependent on X X Y e.g. Given Item code - Item name known Therefore Item code Item name Functional dependence may be based on a composite attribute X,Z Y composite attribute Order no. ,item code --------Qty , price composite attribute DEPENDENCY DIAGRAM Student (Roll no, name, address, dept., year of study ) Name Address Roll no Department Called relation key Year of study Roll no determines uniquely values of all other attributes in the relation, therefore it is called a key. Qty.supplied Vendor Item code Date of supply Price/unit Composite key WHY NORMALIZE RELATIONS-REVISITED We normalize relations to ensure the following: While operating on data base we do not lose data or introduce inconsistencies. Insertion of new data should not force leaving blank fields for some attributes. We do not delete vital information during update. In a normalized relation it is possible to change the values of the attribute without exhaustively searching all tuples of the relation. EXAMPLE TO SHOW NEED FOR NORMALIZATION FIRST NORMAL FORM – 1NF Order No 1456 1456 1456 1886 1886 1788 Order date Item code Qty Price/unit 26021999 3687 52 50.40 26021999 4627 38 60.20 26021999 3214 20 17.50 04031999 4629 45 20.25 04031999 4627 30 60.20 INSERTION : 04111999 item with code 3945 and40 Enter new price 30.50 for which no 4627 60.20 order has been placed. Inserted tuple will have no values (i.e have to be left blank) for order no and order date DELETION: If order no1886 is deleted the fact that item code 4629 costs 20.25 is lost UPDATE: If price of item 4627 is changed, all instances of this item code have to be changed by exhaustive search-errors possible IDEAL NORMALIZATION At the end of normalization a normalized relation Should have no data values duplicated in rows Every attribute in a row must have a value Deletion of a row must not lead to accidental loss of information Adding a row should not affect other rows A value of an attribute in a row can be changed independent of other rows SECOND NORMAL FORM (2NF) A relation is in 2NF if it is in 1NF, non-key attributes are functionally dependent on key attribute and if there is a composite key then no non-key attribute is functionally depend on one part of the key. 2NF FORM 1 NF Orders Relation Order No 1456 1456 1456 1886 1886 1788 Order date 26021999 26021999 26021999 04031999 04031999 04041999 Item code 3687 4627 3214 4629 4627 4627 Qty 52 38 20 45 30 40 Price/unit 50.40 60.20 17.50 20.25 60.20 60.20 2 NF Relations ORDERS Order No Order date 1456 26021999 1886 04031999 1788 04041999 ORDER DETAILS Order No Item code 1456 3687 1456 4627 1456 3214 1886 4629 Qty 52 38 20 45 PRICES Item code Price/unit 3687 50.40 4627 60.20 3214 17.50 NON KEY ATTRIBUTES WHOLLY DEPENDENT ON KEY Repetition of order date removed. If order 1886 for item 4629 is cancelled the price/unit is lost in INF as the whole tuple would be deleted. In 2NF item price not lost when order 1886 for item 4629 cancelled. Only row 4 in order details deleted. Duplication of data in a relation is not there. THIRD NORMAL FORM A Relation in 2NF may have functional dependency between some Non-key attributes. This needs further normalization as the non-keys being dependent leads to unnecessary duplication of data. Normalization to 3NF ensures that there is no functional dependency between non-key attributes. EXAMPLE Student (Roll no, name, dept, year, hostelname ) - If students in a given year are all put in one hostel then year and the hostel are functionally dependent - Year implies hostel-hostel name unnecessarily duplicated - If all students of year 1 are moved to another hostel many tuples need to be changed. NORMALIZATION TO 3NF Student( Roll no, name, dept, year ) Hostel (year, hostel) This is in 3NF Example :1 Employee (empcode,name,salary,project no,termination date of project) * termination date (non-key attribute) Dependent on project no. another non-key attribute •Thus needs normalization 3NF relations : Employee(empcode,name,salary,projectno) Project( Projectno ,termination date of project) Example:2 Passenger(Ticket code,Passenger name,Train no,Departure time,Fare) Train no. and departure time are non-key attributes and are functionally dependent 3NF Relations : Passenger(Ticket code ,Passenger name,Train no, Fare) Train details (Train no., departure time) BOYCE-CODD NORMAL FORM Assume * Relation has more than 1 possible key * Keys are composite * Composite keys have common attribute * Non-key attributes not dependent on one another Thus though the relation is in 3NF, still there could be problems due to unnecessary duplication and loss of data accidentally. EXAMPLE Professor (Prof code, Dept, Head of Dept, Percent time) RELATION Professor code P1 P1 P2 Dept Physics Maths Chem Head of dept Ghosh Krishnan Rao Percent time 50 50 25 P2 P3 P4 P4 Physics Maths Maths Physics Ghosh Krishnan Krishnan Ghosh 75 100 30 70 Observe two possible composite keys (Prof code, Dept) or (Prof code,Head of Dept) Observe Head of dept name is repeated If professor P2 resigns the fact that Rao is Head of Chemistry is lost as lines 3 & 4 will be deleted The dependency diagrams are: Prof code Percent time Dept Head of Dept Dept Head of Dept Head of Dept Percent time Prof code Dept Percentage time a Prof. spends in the department is dependent on Prof code and Department Head of Dept depends on department NEED FOR BCNF Observe the given relation is in 3NF as non key attributes are independent of one another and wholly dependent on key. However there are problems due to the fact that there are two possible composite keys, and attribute of on of the composite key depends on a attribute of other possible composite key NORMALIZING TO BCNF •Identify the dependent attributes in the possible composite keys •Remove them and create a new relation EXAMPLE Composite keys 1.Prof code ,Dept Dependency : Dept 2. Prof code,Head of Dept Head of dept New relations Professor (Prof code, Dept, Percent time ) Department ( Dept, Head of Dept) NORMALIZED BCNF RELATIONS Professor code P1 P1 P2 P2 P3 P4 Dept Physics Maths Chem Physics Maths Maths Percent time 50 50 25 75 100 30 Dept Physics Maths Chem Head of Dept Ghosh Krishnan Rao FOURTH NORMAL FORM 4NF is needed when there are multi-valued dependencies Example : (Vendor, Project, Item) relations Assumptions : -A vendor capable of supplying many items to many projects -A project needs many items -Project may order the same item from many vendors Vendor-Project-Item supply capability relation Vendor Item Project Multivalued dependency V Item Vendor code VI VI VI VI V2 V2 V3 V3 Problems Project code PI PI P3 P3 PI PI PI P2 Item code I1 I2 I1 I2 I2 I3 I1 I1 •Item I1 duplicated for VI and also for V3 •If VI is to supply to project P2 but the item to be supplied is not decided there will be blank in item column Solution: •Split vendor-project-item relation into two relations •Resulting relation must have not more than one independent multivalued dependency RESULTING RELATIONS Project P1 P1 P1 P2 P3 P3 Item I1 I2 I3 I1 I1 I2 Vendor VI VI V2 V2 V3 Item I1 I2 I2 I3 I1 Vendor Capability Project needs OBSERVE NO UNNECESSARY DUPLICATION NEED FOR 5NF In 4NF relations vendor capability to supply items and projects need for items are there. They are obtained by splitting the given relation Looking at relation project-item we see that project P2 requires item I1 From vendor item relation we see that I1 is supplied by V1. This would lead us to infer that(V1,P1,I1)must be a tuple in the original relation but it is not.In other words V1 does not supply item I1 to project P2. This spurious tuple has occurred because vendor V1 may not be allowed to supply item I1 to project P2 Similarly another spurious tuple is (V3, P3, I1) We thus need a third relation which specifies the vendors who are allowed to supply to projects Additional relation for 5NF Vendor Project P2 P3 P1 P1 P2 V1 V1 V2 V3 V3 Vendors permitted for projects The above relation is in addition to the two relations of 4NF. LEARNING UNIT 4 Creation of logical relational database EXAMPLES OF DATA BASE DESIGN ORDER - VENDOR - ITEMS ORDERED EXAMPLE IN CASE STUDY Information on dependencies given : •Orders for item placed with many vendors •A given order no is only to one vendor •Many items supplied against a given order no •A vendor has capacity to supply many items but only some items maybe ordered from him at a particular time ER - DIAGRAM Orders N R Placed for M Placed with S Items P Supply Q Vendors RELATIONS-UNNORMALIZED EXAMPLES OF UNNORMALIZED RELATIONS 1.ORDERS(Order no,Order date) 2.ORDERS PLACED FOR(Order no,item code,qty ordered,delivery time allowed) 3.ORDERS PLACED WITH(order no,vendor code,item code) 4.VENDOR(Vendor code,vendor name,vendor address) 5.ITEM( item code,item name,price/unit) 6.SUPPLIES(vendor code,item code,order no,qty.supplied,date of supply) NORMALIZATION: Relation 1,4,5 are in 3NF and need no change Relation 2 has a composite key,attributes of composite key not related. Non key attributes dependent on composite key,need no change. Relation 3: order no and item code have multivalued dependency.Relation2 already has order no,item code as composite key. Relation 3 is reduced to: 7.ORDER PLACED WITH(order no,vendor code) NORMALIZATION OF SUPPLIES RELATION Consider relation 6 : 6.SUPPLIES (vendor code, item code, order no, qty supplied, date of supply) •It has a composite key with three attributes •Attributes item code and order no have multi-valued dependency as many items can be supplied in one order • And hence need normalization to 4NF Normalized to 8. ACTUAL SUPPLIES (order no, item code, qty supplied, date of supply) 9. VENDOR CAPABILITY (vendor code, item code ) The second relation may have items not yet ordered with a vendor but which could be supplied by vendor The Normalized relations are : 1,2,4,5,7,8,9 STUDENT-TEACHER-COURSES EXAMPLE Information on dependence •A teacher may teach more than one course in a semester •A teacher belongs to only one dept. •A student may take many courses in a semester •A course may have many sections taught by different teachers E-R Diagram Teacher M Students K Teaches N Courses Attends P RELATION-UNNORMALIZED 1 TEACHER (Teacher code,teacher name, address, rank, dept) 2 TEACHER_COURSES (Teacher code,Course no,no of students, section no ) 3 COURSE (Course no , semester taught ,Course name, credits) 4 STUDENT (Student no, student name, dept, year ) 5 STUDENT COURSES (Student no, Course no, semester no ) a)Relations 1,3,4 in 3NF b)Relations 2 and 5 have multi-attribute key which has multi-valued dependency but do not need normalization c)However information on which teacher teaches a given student a specified course cannot be found from relations 1 to 5 Therefore Add relation 6TEACHER_STUDENT (Teacher code, Student no, Course no) THIS SET IS NORMALIZED CONCLUSIONS We have seen how data relevant to applications are organized logically into set of relations The process of normalization depends on the semantics, i.e, meanings of data and an understanding of how various data elements are related It is thus a human intensive activity-it cannot be automated In most problems in practice one is satisfied with 3NF.Higher normal forms are theoretically important and in some cases becomes essential. There is a mathematical theory which underpins the idea of relations and normalization giving it a sound basis. We have not discussed it in this module. A full fledged course in Data Base will describe in detail the mathematical basis and methods of querying a database LEARNING UNIT 5 Objectives of database management system(DBMS) PROBLEMS WITH FILE BASED SYSTEMS If programs and files independently developed for each application in the organization, it leads to the following problems DATA REDUNDANCY-Some data may be duplicated in many files. e.g.: Address of customer LACK OF DATA INTEGRITY- Duplicated data may be different in different files (New address in one file and old address in another file) DATA AVAILABILITY- May require search of number of files to access a specified data CONTROL BY MANAGEMENT-Difficult as data scattered across files. All files should be accessed to find specified data Aim of data base management systems is to reduce above problems DATABASE AND DATABASE MANAGEMENT SYSTEM DATA BASE is a collection of related data necessary to manage an organization (Excludes transient data).It models a data resource and is independent of applications DATA BASE MANAGEMENT-is a set of procedures that manage the database and provides access to the database in the form required by the application program Application1 Database Management System DBMS Database Organized collection of data for several applications Application2 Application1 Procedures to provide data in the form required by applications. Applications need not know physical organization of data OBJECTIVES OF A DATABASE MANAGEMENT SYSTEM Data is an organizational resource. It should be collected, validated, protected, logically organized and stored with controlled redundancy. This is the organizational database One of the main objectives of DBMS is to facilitate sharing of a database by current and future applications DBMS must ensure data independence for programs Data independence to be provided to application programs Data independence allows -Change of database without affecting application programs -Change of hardware or system software without affecting application programs -Sharing of data by different applications by providing views appropriate for the application Control of Redundancy - Avoid unnecessary duplication Relations between data items specified Data integrity - Preserve consistency of data values Data Security - Permit access to data to authorized users only LEARNING UNIT 6 Overview of DBMS. OVERVIEW OF DBMS Data needs of current and possible future applications determined Using E-R data modelling conceptual data model found Converted to relations if Relational DBMS used - called logical data model Application programmers access subset of logical data model - called external data model •Logical model mapped to physical model for storage in disk store - called internal model •External data model kept invariant VARIOUS TERMS USED IN DESCRIBING DBMS Current application Future Applications 1 2 p q Conceptual model logical model Internal Model Application programs 1 2 p q External Model Database COMPONENTS OF DBMS Data Definition Languages (DDL) to define conceptual, logical and external models Data manipulation and query language called Structured Query Language (SQL) Features to implement security Checkpointing and roll back recovery procedures Record of accesses. Audit trail of changes DATABASE ADMINISTRATOR Database Administrator’s responsibilities are controlling of data recourse, to ensure integrity, security and privacy, maintenance of data dictionary, coordination of development and maintenance of data base and determining access rights CHARACTERSTICS OF A GOOD DATA BASE DESIGN Satisfy current and future needs of organization Cater to unanticipated user requirements in the best possible way Expandable with growth and changes in organization Easy to change when hardware and software change Ensure data security by allowing only authorized persons to access and modify database REFERENCES 1. Most of the material in this module has been adapted from the book “Analysis and Design of Information Systems”, 2nd Edition, by V.Rajaraman. Chapter 10 Logical Data Base Design, pp.130 to 153. Chapter 12 , Data Base Management Systems, pp. 171 –1719. 2. Good treatment of E-R Modelling and Normalization may be found in the book “Introduction to Systems analysis and Design”, by I.T.Hawryszkiewycz, Prentice Hall of India, 1989. 3. For those interested in detailed study of Data Base Design and DBMS, the following books are standard texts: 1, R.Elmasri and S.B.Navathe, Fundamentals of Data Base Systems, 4th Edition, Pearson Education Asia, New Delhi, 2004. 2. T.Connolly and C.Begg, Dta Base Systems, 3rd Edition, Pearson Education Asia, New Delhi, 2003. System Analysis and Design/ Logical Database Design Multiple Choice Questions 8.1.1 An entity is (a) a collection of items in an application (b) a distinct real world item in an application (c) an inanimate object in an application (d) a data structure 8.1.2 Pick entities from the following: (i) vendor (ii) student (iii) attends (iv) km/hour (a) i, ii, iii (b) i, ii, iv (c) i and ii (d) iii and iv 8.1.3 A relationship is (a) an item in an application (b) a meaningful dependency between entities (c) a collection of related entities (d) related data 8.1.4 Pick the relationship from the following: (a) a classroom (b) teacher (c) attends (d) cost per dozen 8.1.5 Pick the meaningful relationship between entities (a) vendor supplies goods (b) vendor talks with customers (c) vendor complains to vendor (d) vendor asks prices 8.1.6 The entity set is a (a) set of entities (b) collection of different entities (c) collection of related entities (d) collection of similar entities 8.1.7 Pick entity set from the following (a) all vendors supplying to an organization (b) vendors and organizations they supply (c) vendors and transporters (d) a vendor supplying to many organizations 8.1.8 Attributes are (i) properties of relationship (ii) attributed to entities (iii) properties of members of an entity set (a) i (b) i and ii (c) i and iii (d) iii 8.1.9 The attributes of relationship teaches in teacher teaches course should be V. Rajaraman/IISc. Bangalore M8/V1/July 04/1 System Analysis and Design/ Logical Database Design Multiple Choice Questions (a) (b) (c) (d) teacher code, teacher name, dept, phone no course no, course name, semester offered, credits teacher code, course no, semester no teacher code, course no, teacher name, dept, phone no 8.1.10 The expansion of E-R diagram is (a) Entity-Relationship diagram (b) Entity-Relative diagram (c) Entity-Relation diagram (d) Entity-Rationalized diagram 8.1.11In an E-R diagram entities are represented by (a) circles (b) rectangles (c) diamond shaped box (d) ellipse 8.1.12 In an E-R diagram relationship is represented by (a) circles (b) rectangles (c) diamond shaped box (d) ellipse 8.1.13 Entities are identified from the word statement of a problem by (a) picking words which are adjectives (b) picking words which are nouns (c) picking words which are verbs (d) picking words which are pronouns 8.1.14 Relationships are identified from the word statement of a problem by (a) picking words which are adjectives (b) picking words which are nouns (c) picking words which are verbs (d) picking words which are pronouns 8.1.15 One entity may be (a) related to only one other entity (b) related to itself (c) related to only two other entities (d) related to many other entities 8.2.1 By relation cardinality we mean (a) number of items in a relationship (b) number of relationships in which an entity can appear (c) number of items in an entity (d) number of entity sets which may be related to a given entity 8.2.2 If an entity appears in only one relationship then it is (a) a 1:1 relationship (b) a 1:N relationship (c) a N:1 relationship (d) a N:M relationship V. Rajaraman/IISc. Bangalore M8/V1/July 04/2 System Analysis and Design/ Logical Database Design Multiple Choice Questions 8.2.3 If an entity appears in N relationships then it is (a) a 1:1 relationship (b) a 1:N relationship (c) a N:1 relationship (d) a N:M relationship 8.2.4 If an entity appears in not more than 5 relationships then it is a (a) 1:1 relationship (b) 1:5 relationship (c) 5:1 relationship (d) 5:5 relationship 8.2.5 A pilot can fly three types of planes and a plane can be piloted by any qualified pilot. The pilot-plane type relationship is (a) N:3 (b) 3:N (c) 1:3 (d) 3:1 8.2.6 A student can take not more than 5 subjects in a semester. The number of students allowed in a subject in a semester is not more than 40. The student – subject relationship is: (a) 5:40 (b) 40:5 (c) N:5 (d) 40:M 8.2.7 The following E-R diagram is interpreted as follows: (a) A doctor treats upto N patients (b) A doctor treats exactly N patients (c) A doctor may treat upto N patients; Some doctors may not treat any patients (d) A doctor will treat patients based on some conditions Doctor Treat Patients V. Rajaraman/IISc. Bangalore M8/V1/July 04/3 System Analysis and Design/ Logical Database Design Multiple Choice Questions 8.2.8 A relation is (a) an entity (b) a relationship (c) members of a relationship set (d) members of an entity set or a relationship set 8.2.9 Rows of a relation are called (a) tuples (b) a relation row (c) a data structure (d) an entity 8.2.10 The rows of a relation (a) must be in specified order (b) may be in any order (c) in ascending order of key (d) in descending order of key 8.2.11 The columns of a relation (a) must be in specified order (b) may be in any order (c) with key field in first column (d) with largest width column last 8.2.12 Relations are used in logical database design because (i) sound theory of relations facilitates systematic design of relational databases (ii) they are very popular (iii) they are flat files and easy to store and retrieve from computer’s memory (iv) E-R diagrams allow design of relations (a) i and ii (b) i and iii (c) ii and iii (d) iii and iv 8.3.1 Normalization is a process of restructuring a relation to (a) minimize duplication of data in a database (b) maximize duplication of data to ensure reliability (c) make it of uniform size (d) allow addition of data 8.3.2 Normalization of database is essential to (i) avoid accidental deletion of required data when some data is deleted (ii) eliminate inconsistencies when a data item is modified in the database (iii) allows storage of data in a computer’s disk (iv) use a database management system (a) i and iii (b) i and ii (c) ii and iii (d) ii and iv 8.3.3 The process of normalization (a) is automatic using a computer program (b) requires one to understand dependency between attributes V. Rajaraman/IISc. Bangalore M8/V1/July 04/4 System Analysis and Design/ Logical Database Design Multiple Choice Questions (c) is manual and requires semantic information (d) is finding the key of a relation 8.3.4 The following relation is not normalized because Roll no 4568 Name A.B Moni Courses taken Course No Dept CS 101 EE 545 Phy 325 C.S. E.E. Physics Sem 1 2 1 Phy 101 Physics 1 Chem202 Chemistry 2 Math 103 Math. 1 CS 101 C.S. 1 4954 R. Gupta CS 101 C.S. 1 (a) It is difficult to store due to non–uniform size of the attributes (b) Roll no. 4568 have 3 course line whereas Roll no. 4954 has only one course line (c) The composite attribute (CS 101, C.S., 1) is repeated (d) Some item lines have composite attributes 8.3.5 The relation given in Exercise 10.4.4 may be converted to 1 NF relation by (a) eliminating composite attributes (b) eliminating common attributes (c) duplicating common attributes as many times as lines in corresponding attributes (d) putting composite attributes in a separate table 8.3.6 A relation is said to be in 1NF if (a) there is no duplication of data (b) there are no composite attributes in the relation (c) there are only a few composite attributes (d) all attributes are of uniform type 8.3.7 The number of normal forms which has been proposed and discussed in the book are (a) 3 (b) 4 (c) 5 (d) 6 8.3.8 A relation which is in a higher normal form (a) implies that it also qualifies to be in lower normal form (b) does not necessarily satisfy the conditions of lower normal form (c) is included in the lower normal form (d) is independent of lower normal forms 8.3.9 Given an attribute x, another attribute y is dependent on it, if for a given x (a) there are many y values (b) there is only one value of y (c) there is one or more y values (d) there is none or one y value V. Rajaraman/IISc. Bangalore M8/V1/July 04/5 4894 R. Chamnlal System Analysis and Design/ Logical Database Design Multiple Choice Questions 8.3.10 An attribute y may be functionally dependent on (i) a composite attribute x,y (ii) a single attribute x (iii) no attribute (a) i and ii (b) i and iii (c) ii and iii (d) iii 8.3.11A second Normal Form (2 NF) relation should (a) be in 1 NF (b) not have a composite key (c) not have attributes dependent on key attribute (d) not have attributes dependent on one another 8.3.12 A relation is said to be in 2 NF if (i) it is in 1 NF (ii) non-key attributes dependent on key attribute (iii) non-key attributes are independent of one another (iv) if it has a composite key, no non-key attribute should be dependent on part of the composite key (a) i, ii, iii (b) i and ii (c) i, ii, iv (d) i, iv 8.3.13 Given the following relation vendor order (vendor no, order no, vendor name, qty supplied, price/unit) it is not in 2 NF because (a) it is not in 1 NF (b) it has a composite key (c) non-key attribute vendor name is dependent on vendor no. which is one part of the composite key (d) Qty supplied and price/unit are dependent 8.3.14 Given the following relation vendor order (vendor no, order no, vendor name, qty supplied , price/unit) the second normal form relations are (a) vendor (vendor no, vendor name) qty (qty supplied, price/unit) order (order no, qty supplied) (b) vendor (vendor no, vendor name) order (order no, qty supplied, price/unit) (c) vendor (vendor no, vendor name) order (order no, qty supplied, price/unit) vendor order (vendor no, order no) (d) vendor (vendor no, vendor name, qty supplied, price/unit) vendor order (order no, vendor no) 8.3.15A third Normal Form (3 NF) relation should (a) be in 2 NF (b) not have complete key (c) not be 1 NF (d) should not have non-key attributes depend on key attribute V. Rajaraman/IISc. Bangalore M8/V1/July 04/6 System Analysis and Design/ Logical Database Design Multiple Choice Questions 8.3.16A relation is said to be in 3 NF if (i) it is in 2 NF (ii) non-key attributes are independent of one another (iii) key attribute is not dependent on part of a composite key (iv) has no multi-valued dependency (a) i and iii (b) i and iv (c) i and ii (d) ii and iv 8.3.17 Given the following relation it is not 3 NF because Student (roll no, name, course no, course max. marks, year of study, address) (a) it is not in 2 NF (b) it does not have composite key (c) non-key attributes course no and course max. marks are functionally dependent (d) it has more than 3 non-key attributes 8.3.18Given the following relation Student (roll no, name, course no, course max. marks, year of study, address) The corresponding 3 NF relations are (a) student (roll no, name, year of study, address) course (course no, course max. marks) (b) student ( roll no, name, year of study, address) student (roll no, course no) course (course no, course max. marks) (c) student (roll no , name, address) year (roll no, year of study) course (course no, course max. marks) (d) student (roll no, name, address) course (course no, course max. marks, year of study) 8.3.19 Boye Codd Normal Form (BCNF) is needed when (a) two non-key attributes are dependent (b) there is more then one possible composite key (c) there are two or more possible composite overlapping keys and one attribute of a composite key is dependent on an attribute of another composite key (d) there are two possible keys and they are dependent on one another 8.3.20 A relation is said to be in BCNF when (a) it has overlapping composite keys (b) it has no composite keys (c) it has no multivalued dependencies (d) it has no overlapping composite keys which have related attributes 8.3.21 A 3 NF relation is converted to BCNF by (a) removing composite keys (b) removing multivalued dependencies (c) dependent attributes of overlapping composite keys are put in a separate relation V. Rajaraman/IISc. Bangalore M8/V1/July 04/7 System Analysis and Design/ Logical Database Design Multiple Choice Questions (d) dependent non-key attributes are put in a separate table 8.3.22 BCNF is needed because (a) otherwise tuples may be duplicated (b) when a data is deleted tuples may be lost (c) updating is otherwise difficult (d) when there is dependent attributes in two possible composite keys one of the attributes is unnecessarily duplicated in the tuples 8.3.23 Given the relation Supplier(s_id, p_order, s_name, qty) Given that there is a unique s_name for each s_id and that s_id, p_order is a composite key, find the correct statement among the following: (i) this relation is a BCNF (ii) this is 3 NF relation (iii) this is a 2 NF relation (iv) this is a 1 NF relation (a) i and ii (b) ii and iii (c) i and iv (d) i and iii 8.3.24 Given the relation of Exercise 10.7.5 it is reduced to the following BCNF relation (a) Supplier (s_ids, s_name) Purchase (s_id, p_order, qty) (b) Supplier (s_id, s_name) Purchase (p_order, qty) (c) Purchase (s_id, p_order) Supplier (s_name, qty) (d) Supplier (s_id, s_name, qty) Purchase (s_id, p_order) 8.3.25 Fourth normal form (4 NF) relations are needed when (a) there are multivalued dependencies between attributes in composite key (b) there are more than one composite key (c) there are two or more overlapping composite keys (d) there are multivalued dependency between non-key attributes 8.3.26 A 3 NF relation is split into 4 NF (a) by removing overlapping composite keys (b) by splitting into relations which do not have more than one independent multivalued dependency (c) removing multivalued dependency (d) by putting dependent non-key attribute in a separate table 8.3.27 A relation project guidance Project Guidance(professor, project, student no. st-name, dept) A professor can give many projects to many students A project will have many students A project may be guided by many professors The 4 NF relation corresponding to this are V. Rajaraman/IISc. Bangalore M8/V1/July 04/8 System Analysis and Design/ Logical Database Design Multiple Choice Questions (a) Prof_Project (professor, st_name, dept) Proj_stud (project, student no.) (b) Prof_stud (professor, student no) Proj_stud (project, student no) Student (student no, st_name, dept) (c) Student (student no, st_name, dept) Professor(professor, project) (d) Professor( professor, project, dept) Student (student no, st_name, dept) 8.3.28 The project guidance relation of Exercise 10.8.3 needs further normalization to 5 NF because (a) There are too many multivalued dependencies (b) Multivalued dependency and simple dependency are mixed in the 4 NF relation (c) Spurious tuples got introduced when the 4 NF relations are combined due to the fact that a professor can guide only specified projects (d) 4 NF relations have composite keys 8.3.29 5 NF relations equivalent to the relation of Exercise 10.8.3 are (a) Prof_stud (professor, student_no) Proj_stud ( project, student_no) Prof_proj (professor, project) Student (student_no, st_name, dept) (b) Professor (professor, professor details) Student (student_no, st_name, dept) Project (project no, project details) (c) Prof_stud (professor, student_no) Prof_proj (professor, project) (d) Prof_stud (professor, student_no) Stud_proj (student_no, project) Student (student_no, st_name, dept) 8.4.1 The ORDER PLACED FOR relation in Mini-case example 1 has the composite key order no, item code because (a) item code has a multivalued dependency with order no. (b) the non-key attributes are dependent on the composite key order no, item code (c) if order no is the only key we cannot find qty. ordered, price/unit, delivery time (d) if item code is the only key we cannot find order no. uniquely 8.4.2 The relation SUPPLIES in Mini-case example 1 of Section 10.10 requires normalization because (a) it has a composite key with three attributes (b) the non-key attributes are dependent on part of composite key (c) the attributes item code and order no of the composite key have multivalued dependency (d) vendor code and order no have a multivalued dependency V. Rajaraman/IISc. Bangalore M8/V1/July 04/9 System Analysis and Design/ Logical Database Design Multiple Choice Questions 8.4.3 TEACHES-COURSES relation in Mini-case example 2 is in (a) 3 NF. Does not need any further normalization (b) BCNF (c) 4 NF (d) unnormalized form 8.4.4 TEACHER-STUDENT relation in Mini-case example 2 is required because (a) it is in 3 NF (b) it has a multivalued key (c) it has a composite key with multivalued dependency relation (d) Without this relation database is incomplete and some queries cannot be answered 8.5.1 By redundancy in a file based system we mean that (a) unnecessary data is stored (b) same data is duplicated in many files (c) data is unavailable (d) files have redundant data 8.5.2 Data integrity in a file based system may be lost because (a) the same variable may have different values in different files (b) files are duplicated (c) unnecessary data is stored in files (d) redundant data is stored in files 8.5.3 Data availability is often difficult in file based system (a) as files are duplicated (b) as unnecessary data are stored in files (c) as one has to search different files and these files may be in different update states (d) redundant data are stored in files 8.5.4 Management policy changes are difficult to implement in a file based system because (a) relating data in different files is difficult (b) files are duplicated (c) redundant data are stored (d) unnecessary data is stored 8.5.5 Some of the objectives of a database management system are to (i) minimize duplication of data (ii) ensure centralized management control of data (iii) ease retrieval of data (iv) maintain a data dictionary (a) i and ii (b) i, ii and iv (c) i and iii (d) i, ii and iii 8.5.6 A database is a (a) collection of files (b) collection of inputs and outputs of application (c) collection of related data necessary to manage an organization (d) data resource of an organization V. Rajaraman/IISc. Bangalore M8/V1/July 04/10 System Analysis and Design/ Logical Database Design Multiple Choice Questions 8.5.7 A database models data so that it is (a) appropriate for application (b) independent of application program (c) optimized for most frequent applications (d) optimized for all applications 8.5.8 A database should be designed to allow providing (a) different views of portions of data requested by an application (b) data only to selected applications as decided by an organization (c) a uniform view of data to all applications (d) data to all applications 8.5.9 The abbreviation DBMS stands for (a) Data Base Manipulation System (b) Data Bank Manipulating System (c) Data Base Management System (d) Data Bank Management System 8.5.10 A DBMS is (a) another name for database system (b) independent of a database (c) dependent on application programs (d) is a set of procedures which manage a database 8.5.11 A DBMS (a) is a set of procedures (b) manages a database (c) is a set of procedures to manage a database to provide data as required by applications (d) provides data to applications 8.5.12 One of the main objectives of a DBMS is to (a) Create a database for an organization (b) Facilitate sharing of a database by current and future applications (c) Allow sharing application programs (d) Replace file based systems 8.5.13 Database is (a) an important resource of an organization (b) not relevant to existing programs (c) not relevant for future programs (d) not as good as files as there is redundancy 8.5.14 By data independence we mean application programs (a) do not need data (b) may be developed independent of data (c) may be developed without knowing the organization of data (d) may be developed with independent data 8.5.15 Data independence allows (i) no changes in application programs (ii) change in database without affecting application programs V. Rajaraman/IISc. Bangalore M8/V1/July 04/11 System Analysis and Design/ Logical Database Design Multiple Choice Questions (iii) hardware to be changed without affecting application programs (iv) system software to be changed without affecting application programs (a) i, ii (b) ii, iii (c) ii, iii, iv (d) i, ii, iv 8.5.16 Data independence allows (a) sharing the same database by several applications (b) extensive modification of applications (c) no data sharing between applications (d) elimination of several application programs 8.5.17 Among objectives of DBMS are ensuring (i) data integrity (ii) data redundancy (iii) data security (iv) easy data retrieval (a) i, ii (b) i, iii (c) i, iii, iv (d) i, ii, iii 8.5.18 DBMS (a) does not allow replication of data (b) allows controlled replication of data if it improves performance (c) does not allow common data to be duplicated (d) does not allow replication as it adversely affects reliability 8.5.19 By data integrity we mean (a) maintaining consistent data values (b) integrated data values (c) banning improper access to data (d) not leaking data values 8.5.20 Data integrity is ensured by (a) good data editing (b) propagating data changes to all data items (c) preventing unauthorized access (d) preventing data duplication 8.5.21 By data security in DBMS we mean (a) preventing access to data (b) allowing access to data only to authorized users (c) preventing changing data (d) introducing integrity constraints 8.5.22 DBMS must implement management controls to (i) control access rights to users (ii) implement audit trail when changes are made (iii) allow data to be used extensively in the organization (iv) duplicate databases (a) i, ii (b) ii, iii (c) iii, iv (d) i, iv 8.6.1An E-R modelling for given application leads to V. Rajaraman/IISc. Bangalore M8/V1/July 04/12 System Analysis and Design/ Logical Database Design Multiple Choice Questions (a) conceptual data model (b) logical data model (c) external data model (d) internal data model 8.6.2A conceptual data model is converted using a Relational Data Base Management System to a (a) logical data model (b) external data model (c) internal data model (d) an entity-relation data model 8.6.3A subset of logical data model accessed by programmers is called a (a) conceptual data model (b) external data model (c) internal data model (d) an entity-relation data model 8.6.4When a logical model is mapped into a physical storage such as a disk store the resultant data model is known as (a) conceptual data model (b) external data model (c) internal data model (d) disk data model 8.6.5A DBMS has the following components (i) a data definition language (ii) a query language (iii) a security system (iv) audit trail (a) i, ii (b) i, ii, iii (c) i, ii, iii, iv (d) i, ii, iv 8.6.6A check pointing system is needed (a) to ensure system security (b) to recover from transient faults (c) to ensure system privacy (d) to ensure system integrity 8.6.7 A database administrator (a) administers data in an organization (b) controls all inputs and all outputs of programs (c) is controller of data resources of an organization (d) controls all data entry operators 8.6.8 The responsibilities of a database administrator includes (i) maintenance of data dictionary (ii) ensuring security of database (iii) ensuring privacy and integrity of data (iv) obtain an E-R model (a) i, ii (b) i, ii, iii V. Rajaraman/IISc. Bangalore M8/V1/July 04/13 System Analysis and Design/ Logical Database Design Multiple Choice Questions (c) i, ii, iii, iv (d) ii, iii, iv 8.6.9 Access right to a database is controlled by (a) top management (b) system designer (c) system analyst (d) database administrator 8.6.10 The sequence followed in designing a DBMS are (a) physical model conceptual model logical model (b) logical model physical model conceptual model (c) conceptual model logical model physical model (d) conceptual model physical model logical model 8.6.11 Designing physical model of DBMS requires information on (i) data volume (ii) frequency of access to data (iii) programming language used (iv) secondary memory characteristics (a) i, ii (b) i, ii, iii (c) i, ii, iii, iv (d) i, ii, iv 8.6.12A good database design (i) caters primarily to current needs (ii) caters to current and future needs as organizations grow (iii) has to be modified when hardware is upgraded (iv) ensures data security (a) i, ii (b) i, ii, iii (c) ii, iv (d) iii, iv 8.6.13 A good database design (i) is expandable with growth and changes in organization (ii) easy to change when software changes (iii) ensures data integrity (iv) allows access to only authorized users (a) i, ii (b) ii, iii (c) i, ii, iii, iv (d) i, ii, iii V. Rajaraman/IISc. Bangalore M8/V1/July 04/14 System Analysis and Design/ Logical Database Design Multiple Choice Questions Key To Objective Questions 8.1.1 8.1.7 8.1.13 8.2.4 8.2.10 8.3.4 8.3.10 8.3.16 8.3.22 8.3.28 8.5.1 8.5.7 b a b b b d a c d c b b 8.1.2 c 8.1.8 c 8.1.14 c 8.2.5 a 8.2.11 b 8.3.5 c 8.3.11 a 8.3.17 c 8.3.23 d 8.3.29 a 8.5.2 a 8.5.8 a 8.5.14 c 8.5.20 b 8.6.4 8.6.10 c c 8.1.3 b 8.1.9 c 8.1.15 d 8.2.6 b 8.2.12 b 8.3.6 b 8.3.12 c 8.3.18 b 8.3.24 a 8.4.1 a 8.5.3 c 8.5.9 c 8.5.15 c 8.5.21 b 8.6.5 c 8.6.11 d 8.1.4 8.1.10 8.2.1 8.2.7 8.3.1 8.3.7 8.3.13 8.3.19 8.3.25 8.4.2 8.5.4 c a b c a d c c a c a 8.1.5 8.1.11 8.2.2 8.2.8 8.3.2 8.3.8 8.3.14 8.3.20 8.3.26 8.4.3 8.5.5 a 8.1.6 d b 8.1.12 c a 8.2.3 b d 8.2.9 a b 8.3.3 b a 8.3.9 b c 8.3.15 a d 8.3.21 c b 8.3.27 b a 8.4.4 d d 8.5.6 c 8.5.12 b 8.5.18 b 8.6.2 8.6.8 a b 8.5.10 d 8.5.16 a 8.5.22 a 8.6.6 b 8.6.12 c 8.5.11 c 8.5.17 c 8.6.1 8.6.7 a c 8.5.13 a 8.5.19 a 8.6.3 b 8.6.9 d 8.6.13 c V. Rajaraman/IISc. Bangalore M8/V1/July 04/15 MODULE 8 LOGICAL DATABASE DESIGN WORKED EXAMPLES 8.1 What is an entity? Give examples of entities. Entities specify distinct real world items, in an application, e.g., employees, books, cars, fan, chair etc . 8.2 In what ways is an attribute different from an entity? Attributes are specific properties of entities. For example, the attributes of the entity car is (Registration no., chassis no., engine no., h.p., no. of seats, model, manufacturer). 8.3 What do you understand by a 1 to 1, 1 to many, many to many relationships? Give an example for each. If for every value of an attribute A in a relation there is a unique value of an attribute B in another relation then A and B are dependent 1 to 1. If for each A there are N values of B, then A and B are 1:N. Finally if for each value of A there are M values of B and for each B there are N values of A, then A and B are M:N related. Example of 1 to 1 relationship A student can enroll in only one dept. Student id dept. id Example of 1 to many A teacher teaching 3 courses Teacher id Course id Example of many to many Students take 4 courses Each course can have 40 students Student id N :M 1:3 Course id 8.4 What is the difference between a relation and a relationship? Relationship depicts the dependency or connection between two entities. A relation is a flat table. 8.5 What is normalization of a relation? Normalization is a procedure used to transform a set of relations into another set which has the following desirable properties: 1. Duplication of data in database is minimized. 2. Operations of adding, deleting, modifying data in a database do not lead to inconsistent data in database. 3. Retrieval of data is simplified 8.6 Why should relations be normalized? Normalization ensures that data in the database are not unnecessarily duplicated. It also ensures that addition and deletion of entity rows(or tuples) or change of individual attribute values do not lead to accidental loss of data or errors in database. Normalization also simplifies retrieval of data from a database. 8.7 What is functional dependency? Let X and Y be two attributes of a relation. Given a value of X, if there is only one value of Y corresponding to it then Y is functionally dependent on X. 8.8 What is the key attribute in a relation? If an attribute X in a relation is such that the value of all the other attributes are uniquely determined by the value of X, then X is the key attribute of the relation. 8.9 What is the difference between a 2 NF and a 3 NF relation? In 2 NF all non-key attributes are dependent on the key attribute. No non-key attribute should be dependent in a part of a composite key. There may be a dependency between non-key attributes. Such a dependency is not allowed in 3 NF relation. 8.10 When is BCNF required? If there is a dependency between attributes of two overlapping multi-attribute keys the relation needs to be normalized to BCNF. It implies that a relation needing BCNF has more than one candidate key. 8.11 When are 4 NF and 5 NF required? When there is more than 1 independent multi-valued dependency between attributes in a relation then 4 NF and 5 NF are required. 8.12 What is the difference between 4 NF and 5 NF? 5 NF adds one more relation with attributes which have multi-valued dependency in the 4 NF relation. 8.13 Develop E-R diagram for the following: (i)Customer withdraws money from his account. (ii)Students write examinations. (iii)Students attend classes. (iv)Professors write books. (v)Driver drives a car. Customer Student Student Withdraws from Writes exam in Attends Account Subject Classes (i) (ii) (iii) Professor Driver Writes Drives Books Cars (iv) (v) 8.14 For Question 8.13, obtain relations for each entity. Normalize the relations (i) CUSTOMER (A/c no., name, address, type of account) WITHDRAW (A/c no., amount withdrawn, date) ACCOUNT (A/c no., A/c type, balance amount) (ii) STUDENT (Roll no., name, address, dept., year) WRITES EXAM (Roll no., subject no., exam date, attempt no.) SUBJECT (Subject no., name, taught in sem., pre-requisites) (iii) STUDENT (Roll no., name, address, dept., year) ATTENDS (Roll no., course no., semester, calendar year) CLASSES (course no., teacher id., time of class, location of class) (iv) PROFESSOR (Professor id., name, address, affiliation) (Affiliation gives the University he is working in and the department in that University) WRITES (Professor id., book id., book name, year written) BOOKS (Book id., book name, authors, publisher, no. of pages, price, year of publication) (book id. Is standardized as ISBN no. in India) (v) DRIVER (License no., name, address, type, validity, date of license) DRIVES (License no., registration no.) CAR (Registration no., manufacturer, model, year, horse power, chassis no., body no., no. of seats) Relations (i), (ii), (iv) are already in normal form. Relation (iii) has multi-valued dependency if we assume that a course may be taught by many teachers a teacher can teach many courses a student may attend many courses We should add relations TEACHER-COURSE (Teacher id., course no., roll no.) In relation (v), non-key attributes are dependent in the relation CAR as given manufacturer and model of car, the horse power is known. We thus split CAR into two relations as shown: (i) CAR REGISTRATION(Registration no., manufacturer, model, year, chassis no., body no. ) (ii) CAR PARTICULARS(Manufacturer, model, year, horse power, no. of seats) 8.15 For the following word statement, obtain E-R diagram and relations. Use any reasonable assumptions. “A machine shop produces many parts which it takes on contract. It employs many machinists who operate any of the machines. A part needs working on only one machine. A record is kept on the quantity of material needed for producing each part. The production of each part is tracked by giving a job number, start time and end time and machinist identification.” PART(Part no., part name, material type, qty. needed) PART-MACHINE(Part no., machine no., time needed on machine) MACHINE(Machine no., machine name, details of machine) MACHINISTS(Machinist id., name, wage) MACHINE ASSIGNMENT(Machine no., machinist no., part no., start time, end time) N Parts N Made by Made using M N Machinists Operate on M 1 Machines 8.16 Admission procedure in a university is as follows: An advertisement is issued giving essential qualifications for the course, the last date for receipt of application, and the fee to be enclosed with the application. A clerk in the registrar’s office checks the received applications to see if marksheet and fee are enclosed and sends valid applications to the concerned academic department. The department checks the application in detail and decides the applicants to be admitted, those to be put in the waiting list, and those rejected. Appropriate letters are sent to the Registrar’s office which intimates the applicant. Obtain an E-R diagram and a set of relations for the above problem statement. Assumptions: 1. An applicant sends separate applications for each course. 2. A clerk (or case worker) in Registrar’s office verifies several applications 3. Several case workers are there in Registrar’s office 4. The department has only one person who decides the result on scrutiny of application APPLICANT(Applicant no., Applicant name, address) SENDS(Applicant no., Application no.) APPLICATION(Application no., dept no., fee paid, marks) APPLICATION-SCRUTINY(Application no., dept no.) DEPARTMENT(Dept no., Dept name, no. of student) APPLICATION-REPLY(Application no., dept no., admit) Applicant Sends Sends reply to Applications Scrutinized by Department 8.17 A magazine is published monthly and is sent by post to its subscribers. Two months before the expiry of subscription, a reminder is sent to the subscribers. If subscription is not received within a month, another reminder is sent. If renewal subscription is not received up to two weeks before the expiry of the subscription, the subscriber’s name is removed from the mailing list and the subscriber informed. Obtain an E-R diagram and relations for the above problem statement. SENT TO(Rem. Id., subscriber id., date due, amount due) REMINDER(Rem. Id., reminder no, date due) Can be merged as 1:1 relationship given below: REMINDER(Rem. Id., subscriber id.,reminder no, date due, amount due) SUBSCRIBER(Subscriber id., name, address, subscription expiry date) SUBSCRIBER-PAYMENT(Subscriber no., cheque no., date, amount received) 1 Subscribers 1 Pays Sent to 1 Subscription 1 Remainders 8.18 What are the advantages and disadvantages of systems using separate Data files? Main advantage is efficiency. Individual applications can be efficiently implemented using minimal storage and processing time. Disadvantages of using individual files for applications are listed in summary points 16,17,18 and 19. 8.19 What do you understand by the term data integrity? If a data field is stored in different files with different values there is no data integrity. For example, if a student’s address in the department’s file is different from that in the hostel file then there is no data integrity. 8.20 Students’ records in a University are kept by various sections: Hostel, Health Centre, Academic Office, major departments, Accounts Section and Library. If each of these sections maintains its own file-based system for processing, what problems do you foresee? Give examples. Student’s identity number may be different in different files and it will be difficult to link them. If a student’s home address changes he should notify each section independently to change his address. If a management decision is taken that if a student’s hostel dues are not paid he will not be given grade card, it is difficult to implement this decision unless the information from hostel is sent to academic section. If the identification in hostel is different from that in academic office, then correlating the records would be very difficult. Stored data is redundant as it is repeated at many places. 8.21 What are the basic objectives in evolving a database for an organization? Share data between applications. Minimize redundancy in data. Maintain consistency of data values. Protects data. Prevent unauthorized insertion, deletion and alteration of data. Ensure ready access to needed data. 8.22 What do you understand by the term data independence? By data independence we mean that an application programmer need not know the physical format and storage of data to use the data in an application. 8.23 Distinguish between issues of privacy and security in a database? Data security is concerned with protecting access to data. Authorization levels for updating, retrieving different data elements are specified. Protection against accidental loss of data is planned. Data privacy is concerned with preventing use of individual’s data without his/her permission. 8.24 What is the difference between a conceptual model and a logical model of a database? A conceptual model of a database specifies the data needs for current and future applications. It also specifies the entities and relationships among entities. A logical data model formats the data as a relational model, hierarchical model or network model. 8.25 What is RDBMS? In relational DBMS relations are used to represent the logical data model. 8.25 What are the responsibilities of a Database Administrator (DBA) in an organization? A database administrator is responsible for ensuring integrity, security and privacy of data. System Analysis and Design/Data Input Methods Question Bank QUESTION BANK 8.1 8.2 8.3 8.4 What is an entity? Give examples of entities. What is a relationship? In what way is it different from an entity? In what way is an attribute different from an entity? What do you understand by a 1 to 1, 1 to many, many to many relationships? Give one example for each. 8.5 8.6 8.7 8.8 8.9 8.10 8.11 8.12 8.13 8.14 What is the difference between a relation and a relationship? What is normalization of a relation? Why should relations be normalized? What is a functional dependency? What is a key attribute in a relation? What is the difference between a 2NF and a 3NF relation? When is BCNF required? When are 4NF and 5NF required? What is the difference between 4NF and 5NF? Develop E-R diagram for the following: Customer withdraws money from his account Students write examinations. Students attend classes Professors write books Driver drives a car 8.15 Draw an E-R diagram showing the cardinality for the following: (i) A bill is sent to a customer. A customer can receive many bills. V. Rajaraman/IISc. Bangalore M8/V1/July 04/1 System Analysis and Design/Data Input Methods Question Bank (ii) (iii) (iv) A clerk works in a bank. The bank has many clerks A part is used in many products and a product uses many parts. Students apply for seats in colleges. Each student can atmost get one seat. A college has many seats. A student can send many applications. (v) 8.16 8.17 A car is owned by a person. The person can own many cars. For Exercise 8.14, obtain relations for each entity. Normalize the relations. For the following word statement, obtain E-R diagram and relations. Use any reasonable assumptions. "A machine shop produces many parts which it takes on contract. It employs many machinists who operate any of the machines. A part needs working on only one machine. A record is kept on the quantity of material needed for producing each part. The production of each part is tracked by giving a job number, start time and end time and machinist identifications". 8.18 For the problem on library, periodical management stated in Exercise 4.23 (Module 4), obtain E-R diagrams and relations. Make any reasonable assumptions and state the assumptions. 8.19 For the problem statement of Exercise 5.15 (Module 5) obtain the E-R diagram and relations for the problem. 8.20 For the problem statement of Exercise 5.16 (Module 5), obtain the E-R diagram and a set of relations by using the diagram 8.21 For the problem statement of Exercise 5.18(Module 5), obtain the E-R diagrams and relations . 8.22 8.23 What are the advantages and disadvantages of systems using separate data files? What do you understand by the term data integrity? V. Rajaraman/IISc. Bangalore M8/V1/July 04/2 System Analysis and Design/Data Input Methods Question Bank 8.24 8.25 If redundant data is stored can it lead to data integrity problem? Student's records in a University are kept by various sections: Hostel, Health Centre, Academic Office, major departments, Accounts Section and Library. If each of these sections maintains its own file-based system for processing, what problems do you foresee? Give examples. 8.26 8.27 Define a database of an organization. What is the difference between a database and a Database Management System (DBMS)? 8.28 8.29 8.30 8.31 What are the basic objectives in evolving a database for an organization? What do you understand by the term data independence? What advantages are available to a programmer from data independence? Draw an analogue between the advantages of high level language programming and data independence of application programs. 8.32 8.33 8.34 8.35 How can data integrity be maintained in a database? Distinguish between issues of privacy and security in a database. What is the role of E-R diagrams in database design? What is the difference between a conceptual model and a logical model of a database? 8.36 8.37 What is an internal model of a DBMS? What data models are used by application programs in a database oriented system? 8.38 Why is a DBMS divided into three layers, namely, conceptual model, logical model, and internal model? V. Rajaraman/IISc. Bangalore M8/V1/July 04/3 System Analysis and Design/Data Input Methods Question Bank 8.39 8.40 8.41 How is data independence of application programs ensured in a DBMS? What is RDBMS? What are the responsibilities of a Database Administrator (DBA) in an organization? 8.42 8.43 What are the ideal features of a database system? Are DBMS relevant to Personal Computers (PCs)? V. Rajaraman/IISc. Bangalore M8/V1/July 04/4 System Analysis and Design/Data Input Methods Case Study Mini Case Example 1 We will illustrate the method used to obtain an E-R diagram with an example. Usually an imprecise statement of the needs of an organization is given by the management. We now give a sample of such a statement. This is to be used to obtain an E-R diagram. User's narrative of requirements: "Our company receives a number of items from many vendors and they are received at the receiving office. As we receive over 1000 items a day it is now virtually impossible for the receiving office to check whether the vendor has supplied items against an order, or sent a wrong item and inform the purchase office. We are also not able to find out if there are excesses or deficiencies in delivery and whether the vendor adhered to the delivery schedule as per the order. The items received at the receiving office are sent for physical inspection. The physical inspection consists of checking whether the quantities stated in the delivery note agree with the physical count, whether the item is the correct one ordered, and a check on the quality of item. We would like to keep a record of rejections due to bad quality, incorrect items, excess/deficient supply etc., determined during inspection. This will enable us to assess vendors' reliability to guide us in placing orders in the future, besides keeping track of supplies. Items cleared by the inspection office are taken into the inventory by the stores office which keeps a ledger of items stocked and quantity available of each item. Customers send requisitions to the stores. The stores fulfill the requests based on availability and update the ledger. Currently we are not able to meet some of our customers' requests. We would like to incorporate automatic reordering by our purchase office if the inventory level of an item. V. Rajaraman/IISc. Bangalore M8/V1/July 04/1 System Analysis and Design/Data Input Methods Case Study We would also like to keep track of unfulfilled requests and meet them when items reach the store. Currently we are not able to pay our vendors promptly due to delays in payment order reaching our accounts office. We would like to rectify this. We would also like to bill our customers promptly and keep track of customers' payments". The E-R diagram for the problem is: orders Placed for Placed with items vendors Supplies The relations are: ORDER (order no.., order date) ORDER PLACED FOR (order no., item code, qty. ordered, delivery time allowed) ORDER PLACEDWITH (order no.. vendor code, item code) VENDOR (vendor code, vendor name, vendor address) ITEM (item code, item name, price/unit) SUPPLIES (vendor code, item code, order no., qty.supplied, date of supply). The key attribute(s) are in bold letter(s) in each relation. V. Rajaraman/IISc. Bangalore M8/V1/July 04/2 System Analysis and Design/Data Input Methods Case Study Let us examine whether the relations are in normal form. ORDERS and ORDER PLACED FOR are simple relations. In the relation ORDER PLACED WITH, the key is the composite attributes order no., vendor code and item code. However, the entity item code is not needed in the ORDER PLACED WITH relation. Given an order no., all the items supplied against this order can be found from ORDER PLACED FOR relation. The vendor with whom the order has been placed can be found from the ORDER PLACED WITH relation given below as each order no., has only one vendor. ORDER PLACED WITH (order no., vendor code) The two relations ORDER PLACED WITH and ORDER PLACED FOR have composite keys. The non-key fields are not related to one another. In a key more than one attribute, the individual attributes are not functionally dependent. Thus these two relations are in normalized form and do not need any further change. The relations VENDOR and ITEM are simple and are in normalized form. The relation SUPPLIES is, however, not normalized. vendor code and order no., are functionally dependent. There is a multivalued dependency between vendor code and item code as a vendor can supply many items. We thus split the relations into two relations. ACTUAL VENDOR SUPPLY (order no., item code, qty.supplied, date of supply) VENDOR SUPPLY CAPABILITY (vendor code, item code) Observe that the relation VENDOR SUPPLY CAPABILITY will have a (vendor code, item code) table without a vendor having supplied any item. The relation ORDER PLACED WITH will have a tuple only when a vendor actually supplies an item. V. Rajaraman/IISc. Bangalore M8/V1/July 04/3 System Analysis and Design/Data Input Methods Case Study Minicase Example 2 Let a database contain the following: Teacher code, Teacher’s name, Teacher’s address, rank, department, courses taught by the teacher, course name, credits for course, no.of students in the class, course taught in semester no., student no., name, dept., year, and courses taken in semesters no. The following information is given on dependencies. • • • • A teacher may teach more than one course in a semester A teacher is affiliated to only one department A student may take many courses in a semester The same course may have more than one section and different sections will be taught by different teachers. • A course may be taught in more than one semester An entity relationship diagram for this problem is given below. The relations corresponding to the E-R diagram are: V. Rajaraman/IISc. Bangalore M8/V1/July 04/4 System Analysis and Design/Data Input Methods Case Study Teacher Studnet M K Teaches Attends N Courses P An E-R diagram for teacher database TEACHER (Teacher code, teacher’s name, teacher’s address, rank, dept.) TEACHES COURSES (Teacher code, course no., semester no., no.of students, section no) COURSE (course no., semester no., course name, credits) STUDENT (student no., student’s name, dept., year) STUDENT –COURSES (student’s no., course no., semester no.) TEACHER relation has only one key. All non-key attributes are functionally dependent only on the key. There is no functional dependency among non-key attributes. Thus the relation is normalized in 3NF (No higher NFs are applicable). STUDENT relation is also, similarly, in 3NF. In the COURSE relation, course name could also be a key. The relation is in 3NF and no further normalization is required. The relations TEACHES COURSES and STUDENT-COURSES have multiattribute keys, but V. Rajaraman/IISc. Bangalore M8/V1/July 04/5 System Analysis and Design/Data Input Methods Case Study the relations themselves are in normal form. The only point which is not clear, from these relations, is the relation between teacher and student. This has been missed in the E-R diagram. The relationship is between the teacher, courses taught and students. In other words, we should be able to answer the question “which teacher is teaching course no.X to student no. Y in Semester 2?” Let us add a relation. TEACHER-STUDENT (Teacher code, student no., course no.) In this relation Teacher code and course no. have a multivalued dependency. Similarly, Teacher code and student no. as well as student no. and course no. have multivalued dependency. However, TEACHES COURSES (Teacher code, course no., semester no., no.of students, section no.) and STUDENT COURSES (student no., course no., semester no) relations are already in the database. Thus the relation TEACHERSTUDENT as it is specified above is sufficient to give the idea that student Y takes course X from Teacher Z. V. Rajaraman/IISc. Bangalore M8/V1/July 04/6 System Analysis and Design/Data Input Methods Pointers References 1. Most of the material in this module has been adapted from the book “Analysis and Design of Information Systems”, 2nd Edition, by V.Rajaraman. Chapter 10 Logical Data Base Design, pp.130 to 153. Chapter 12 , Data Base Management Systems, pp. 171 –1719. 2. Good treatment of E-R Modelling and Normalization may be found in the book “Introduction to Systems analysis and Design”, by I.T.Hawryszkiewycz, Prentice Hall of India, 1989. 3. For those interested in detailed study of Data Base Design and DBMS, the following books are standard texts: 1, R.Elmasri and S.B.Navathe, Fundamentals of Data Base Systems, 4th Edition, Pearson Education Asia, New Delhi, 2004. 2. T.Connolly and C.Begg, Dta Base Systems, 3rd Edition, Pearson Education Asia, New Delhi, 2003. V. Rajaraman/IISc. Bangalore M8/V1/July 04/1 SUMMARY OF MODULE 8 1. A conceptual model of data used in an application is obtained by using an entity relationship model (E-R model). 2. Entities specify distinct real world items in an application, relationships represent dependencies between entities, and attributes specify properties of entities and relationships. 3. Entity set describes items which are similar. Students, courses, teachers are examples of entity sets. 4. Examples of relationship are students attend courses, Teachers teach courses. “Attend” and “teach” are relationships. 5. E-R models have the facility to describe 1 to 1, 1 to many, many to many, conditional and optional relationships. 6. E-R models assist in designing relational databases. 7. A relation is a table which depicts an entity set. Each column in the relation corresponds to an attribute of the entity. Each row contains a member of the entity set. 8. A relational database consists of a collection of relations relevant for a specified application. 9. Relations in a database are normalized. Normalization is a procedure used to transform a set of relations into another set which has some desirable properties. 10. Normalization ensures that data in the database are not unnecessarily duplicated. It also ensures that addition and deletion of entity rows (or tuples) or change of individual attribute values do not lead to accidental loss of data or errors in database. 11. Normalization is performed by first converting a relation so that all entities are simple. This results in a relation said to be in First Normal Form (INF). 12. Successive normalization steps are carried out to meet the objectives stated in point 10. 13. The successive normal forms are called 2NF, 3NF, BCNF, 4NF and 5NF. 14. A summary of how normalization steps are carried out is shown in the table below. Summary of Normalization Steps Input Relation All relations Transformation Eliminate variable length records. Remove multiattribute lines in table Remove dependency of non-key attributes on part of a multiattribute key Remove dependency of non-key attributes on other non-key attributes Remove dependency of an attribute of a multiattribute key on an attribute of another (overlapping) multiattribute key Remove more than one independent multivalued dependency from relation by splitting relation Add one relation relating attributes with multivalued dependency to the two relations with multivalued dependency INF Output relation INF relation 2NF 2NF 3NF 3NF BCNF BCNF 4NF 4NF 5NF 15. Traditionally, application programs were written after designing data files appropriate to the application. 16. As organizations require many application programs and these applications need some common data, it is found that the same data is stored in many files, thereby wasting storage space. 17. Waste of storage space is not the only problem. The same data (such as an address of an individual) may be in different forms in different files, leading to confusion. 18. As data is scattered in many files, it is difficult to correlate them and use them for various applications. 19. When requirements change, the application programs and the entire data organization may have to be changed. Such a change is time consuming and expensive. 20. Instead of designing independent files for different applications, it is better to design a common database which can be used for all current applications and applications expected to be implemented in the future. 21. A database constitutes the data resource of an organization. It incorporates not only data but also relationships between data items. It is modelled not for specific current applications, but all current and potential applications. 22. A Database Management System (DBMS) is a set of procedures that manage a database and provide application programs access to the database in a form requested by the applications programs. 23. A good DBMS allows sharing of data among applications. Sharing of data is possible if application programs can be written without having a knowledge of data representation, location or access. In other words, application programs should be free to have their own view of data by DBMS. 24. Other major objectives of DBMS are to minimize storage of redundant data, maintain consistency of data values, ensure validity of stored data, protect data, prevent unauthorized access, control insertion, deletion and alteration of data and ensure fast access to data required by application programs. 25. To use a DBMS, a conceptual model of data needed for current and future applications is designed. E-R modelling is useful for this. The conceptual model is next converted to a logical model appropriate for the DBMS. For RDBMS, normalised relations constitute the logical model. 26. The physical data model is then designed to ensure good performance. User's view of data for application is primarily the logical view. QUESTION BANK - MODULE 8 8.1 8.2 8.3 8.4 What is an entity? Give examples of entities. What is a relationship? In what way is it different from an entity? In what way is an attribute different from an entity? What do you understand by a 1 to 1, 1 to many, many to many relationships? Give one example for each. 8.5 8.6 8.7 8.8 8.9 8.10 8.11 8.12 8.13 8.14 What is the difference between a relation and a relationship? What is normalization of a relation? Why should relations be normalized? What is a functional dependency? What is a key attribute in a relation? What is the difference between a 2NF and a 3NF relation? When is BCNF required? When are 4NF and 5NF required? What is the difference between 4NF and 5NF? Develop E-R diagram for the following: Customer withdraws money from his account Students write examinations. Students attend classes Professors write books Driver drives a car 8.15 Draw an E-R diagram showing the cardinality for the following: (i) (ii) (iii) (iv) A bill is sent to a customer. A customer can receive many bills. A clerk works in a bank. The bank has many clerks A part is used in many products and a product uses many parts. Students apply for seats in colleges. Each student can atmost get one seat. A college has many seats. A student can send many applications. (v) 8.16 8.17 A car is owned by a person. The person can own many cars. For Exercise 8.14, obtain relations for each entity. Normalize the relations. For the following word statement, obtain E-R diagram and relations. Use any reasonable assumptions. "A machine shop produces many parts which it takes on contract. It employs many machinists who operate any of the machines. A part needs working on only one machine. A record is kept on the quantity of material needed for producing each part. The production of each part is tracked by giving a job number, start time and end time and machinist identifications". 8.18 For the problem on library, periodical management stated in Exercise 4.23 (Module 4), obtain E-R diagrams and relations. assumptions and state the assumptions. Make any reasonable 8.19 For the problem statement of Exercise 5.15 (Module 5) obtain the E-R diagram and relations for the problem. 8.20 For the problem statement of Exercise 5.16 (Module 5), obtain the E-R diagram and a set of relations by using the diagram 8.21 For the problem statement of Exercise 5.18(Module 5), obtain the E-R diagrams and relations . 8.22 8.23 8.24 8.25 What are the advantages and disadvantages of systems using separate data files? What do you understand by the term data integrity? If redundant data is stored can it lead to data integrity problem? Student's records in a University are kept by various sections: Hostel, Health Centre, Academic Office, major departments, Accounts Section and Library. If each of these sections maintains its own file-based system for processing, what problems do you foresee? Give examples. 8.26 8.27 Define a database of an organization. What is the difference between a database and a Database Management System (DBMS)? 8.28 8.29 8.30 8.31 What are the basic objectives in evolving a database for an organization? What do you understand by the term data independence? What advantages are available to a programmer from data independence? Draw an analogue between the advantages of high level language programming and data independence of application programs. 8.32 8.33 8.34 8.35 How can data integrity be maintained in a database? Distinguish between issues of privacy and security in a database. What is the role of E-R diagrams in database design? What is the difference between a conceptual model and a logical model of a database? 8.36 8.37 What is an internal model of a DBMS? What data models are used by application programs in a database oriented system? 8.38 Why is a DBMS divided into three layers, namely, conceptual model, logical model, and internal model? 8.39 8.40 8.41 How is data independence of application programs ensured in a DBMS? What is RDBMS? What are the responsibilities of a Database Administrator (DBA) in an organization? 8.42 8.43 What are the ideal features of a database system? Are DBMS relevant to Personal Computers (PCs)? Module 8 Mini Case Example 1 We will illustrate the method used to obtain an E-R diagram with an example. Usually an imprecise statement of the needs of an organization is given by the management. We now give a sample of such a statement. This is to be used to obtain an E-R diagram. User's narrative of requirements. "Our company receives a number of items from many vendors and they are received at the receiving office. As we receive over 1000 items a day it is now virtually impossible for the receiving office to check whether the vendor has supplied items against an order, or sent a wrong item and inform the purchase office. We are also not able to find out if there are excesses or deficiencies in delivery and whether the vendor adhered to the delivery schedule as per the order. The items received at the receiving office are sent for physical inspection. The physical inspection consists of checking whether the quantities stated in the delivery note agree with the physical count, whether the item is the correct one ordered, and a check on the quality of item. We would like to keep a record of rejections due to bad quality, incorrect items, excess/deficient supply etc., determined during inspection. This will enable us to assess vendors' reliability to guide us in placing orders in the future, besides keeping track of supplies. Items cleared by the inspection office are taken into the inventory by the stores office which keeps a ledger of items stocked and quantity available of each item. Customers send requisitions to the stores. The stores fulfill the requests based on availability and update the ledger. Currently we are not able to meet some of our customers' requests. We would like to incorporate automatic reordering by our purchase office if the inventory level of an ite We would also like to keep track of unfulfilled requests and meet them when items reach the store. Currently we are not able to pay our vendors promptly due to delays in payment order reaching our accounts office. We would like to rectify this. We would also like to bill our customers promptly and keep track of customers' payments". The E-R diagram for the problem is: orders Placed for Placed with items vendors Supplies The relations are: ORDER (order no.., order date) ORDER PLACED FOR (order no., item code, qty. ordered, delivery time allowed) ORDER PLACEDWITH (order no.. vendor code, item code) VENDOR (vendor code, vendor name, vendor address) ITEM (item code, item name, price/unit) SUPPLIES (vendor code, item code, order no., qty.supplied, date of supply). The key attribute(s) are in bold letter(s) in each relation. Let us examine whether the relations are in normal form. ORDERS and ORDER PLACED FOR are simple relations. In the relation ORDER PLACED WITH, the key is the composite attributes order no., vendor code and item code. However, the entity item code is not needed in the ORDER PLACED WITH relation. Given an order no., all the items supplied against this order can be found from ORDER PLACED FOR relation. The vendor with whom the order has been placed can be found from the ORDER PLACED WITH relation given below as each order no., has only one vendor. ORDER PLACED WITH (order no., vendor code) The two relations ORDER PLACED WITH and ORDER PLACED FOR have composite keys. The non-key fields are not related to one another. In a key more than one attribute, the individual attributes are not functionally dependent. Thus these two relations are in normalized form and do not need any further change. The relations VENDOR and ITEM are simple and are in normalized form. The relation SUPPLIES is, however, not normalized. vendor code and order no., are functionally dependent. There is a multivalued dependency between vendor code and item code as a vendor can supply many items. We thus split the relations into two relations. ACTUAL VENDOR SUPPLY (order no., item code, qty.supplied, date of supply) VENDOR SUPPLY CAPABILITY (vendor code, item code) Observe that the relation VENDOR SUPPLY CAPABILITY will have a (vendor code, item code) table without a vendor having supplied any item. The relation ORDER PLACED WITH will have a tuple only when a vendor actually supplies an item. Minicase Example 2 Let a database contain the following: Teacher code, Teacher’s name, Teacher’s address, rank, department, courses taught by the teacher, course name, credits for course, no.of students in the class, course taught in semester no., student no., name, dept., year, and courses taken in semesters no. The following information is given on dependencies. • • • • A teacher may teach more than one course in a semester A teacher is affiliated to only one department A student may take many courses in a semester The same course may have more than one section and different sections will be taught by different teachers. • A course may be taught in more than one semester An entity relationship diagram for this problem is given below. The relations corresponding to the E-R diagram are: Teacher Studnet M K Teaches Attends N Courses P An E-R diagram for teacher database TEACHER (Teacher code, teacher’s name, teacher’s address, rank, dept.) TEACHES COURSES (Teacher code, course no., semester no., no.of students, section no) COURSE (course no., semester no., course name, credits) STUDENT (student no., student’s name, dept., year) STUDENT –COURSES (student’s no., course no., semester no.) TEACHER relation has only one key. All non-key attributes are functionally dependent only on the key. There is no functional dependency among non-key attributes. Thus the relation is normalized in 3NF (No higher NFs are applicable). STUDENT relation is also, similarly, in 3NF. In the COURSE relation, course name could also be a key. The relation is in 3NF and no further normalization is required. The relations TEACHES COURSES and STUDENT-COURSES have multiattribute keys, but the relations themselves are in normal form. The only point which is not clear, from these relations, is the relation between teacher and student. This has been missed in the E-R diagram. The relationship is between the teacher, courses taught and students. In other words, we should be able to answer the question “which teacher is teaching course no.X to student no. Y in Semester 2?”. Let us add a relation. TEACHER-STUDENT (Teacher code, student no., course no.) In this relation Teacher code and course no. have a multivalued dependency. Similarly, Teacher code and student no. as well as student no. and course no. have multivalued dependency. However, TEACHES COURSES (Teacher code, course no.,semester no.., no.of students, section no.) and STUDENT COURSES (student no., course no., semester no) relations are already in the database. Thus the relation TEACHERSTUDENT as it is specified above is sufficient to give the idea that student Y takes course X from Teacher Z. References 1. Most of the material in this module has been adapted from the book “Analysis and Design of Information Systems”, 2nd Edition, by V.Rajaraman. Chapter 10 Logical Data Base Design, pp.130 to 153. Chapter 12 , Data Base Management Systems, pp. 171 –1719. 2. Good treatment of E-R Modelling and Normalization may be found in the book “Introduction to Systems analysis and Design”, by I.T.Hawryszkiewycz, Prentice Hall of India, 1989. 3. For those interested in detailed study of Data Base Design and DBMS, the following books are standard texts: 1, R.Elmasri and S.B.Navathe, Fundamentals of Data Base Systems, 4th Edition, Pearson Education Asia, New Delhi, 2004. 2. T.Connolly and C.Begg, Dta Base Systems, 3rd Edition, Pearson Education Asia, New Delhi, 2003. MODULE 9 OBJECT-ORIENTED SYSTEM MODELLING OBJECTIVE QUESTIONS There are 4 alternative answers to each question. One of them is correct. Pick the correct answer. Do not guess. A key is given at the end of the module for you to verify your answer LEARNING UNIT 1 9.1.1 Computer systems are designed by (a) simplifying requirements of system (b) breaking of the system into smaller self-contained co-operating subsystems (c) breaking up the systems into independent parts (d) modular design 9.1.2 Functions and procedures are (a) not useful in designing computer systems (b) old fashioned and they are not useful (c) useful in designing computer systems (d) have side effects which require special care if they are used as subsystems 9.1.3 A subsystem of a complex system must specify (a) what task it performs (b) how it performs a task (c) with which subsystems it co-operates (d) how it co-operates with other systems 9.1.4 A subsystem of a complex system must (i) know how other subsystems perform their task (ii) know what tasks other subsystems perform (iii) know what task it performs and other subsystems perform to access its data (iv) know how to send requests to other systems for getting tasks done by them (a) i, ii (b) ii, iii (c) ii, iv (d) iii, iv 9.1.5 A subsystem of a complex system (i) should be reusable in other complex system (ii) must not be able to inherit the properties of other subsystems (iii) must have clearly specified responsibilities (iv) must know the stimuli to which it should respond (a) i, ii, iii (b) ii, iii, iv (c) i, iii, iv (d) i, ii, iv 9.1.6 By polymorphism of a subsystem we mean (a) it should be reusable (b) it should have polymorphic data types (c) it should accept generic commands and interpret appropriately (d) it should morph polygons 9.1.7 The advantages of object-oriented modelling are (i) it allows easy integration of subsystems (ii) it promotes reuse of code written earlier (iii) it allows modification of some objects by other objects (iv) it allows data structures in objects to be modified by other objects (a) i, ii (b) i, iii (c) ii, iii (d) i, iv 9.1.8 Objects are (i) tangible entities (ii) intangible entities (iii) transient entities (iv) uniquely identifiable (a) i, ii (c) i, ii, iii, iv (b) i, ii, iii (d) i, ii, iv 9.1.9 A class is (a) a group of objects (b) template for objects of a particular type (c) a class of objects (d) a classification of objects 9.1.10 All objects have (i) attributes (ii) states (iii) a set of operations (iv) a unique identity (a) i, ii, iii (c) i, iii, iv (b) ii, iii, iv (d) i, ii, iii, iv 9.1.11 In UML diagram of a class (a) state of object cannot be represented (b) state is irrelevant (c) state is represented as an attribute (d) state is represented as a result of an operation 9.1.12 Attributes are assigned value (a) when operations are performed on an object (b) when instances of objects are defined (c) when methods are invoked (d) when classes are identified 9.1.13 The following are intangible entities which can be defined as objects (i) a motor car (ii) a bank account (iii) an aircraft (iv) a linked list (a) i, ii (b) ii, iv (c) iii, iv (d) ii, iii, iv 9.1.14 A query operation on a object (a) has side effect (b) has no side effects (c) changes the state of an object (d) is not allowed 9.1.15 An instance of an object is created by a (a) query operation (b) update operation (c) constructor operation (d) open operation 9.1.16 An update operation in an object instance (a) updates the class (b) has no side effects (c) deletes an instance (d) alters values of attribute(s) of an object instance 9.1.17 In object-oriented design (a) operations and methods are identical (b) methods specify algorithms whereas operations only state what is to be done (c) methods do not change values of attributes (d) methods and constructor are same 9.1.18 By abstraction in object-oriented modelling we mean picking (a) only attributes appropriate to model an object (b) only operations (c) both operation and attributes with operations appropriate to model an object (d) the appropriate abstract data type 9.1.19 By encapsulation in object-oriented modelling we mean (a) encapsulating data and programs (b) hiding attributes of an object from users (c) hiding operations on object from users (d) hiding implementation details of methods from users of objects 9.1.20 Encapsulation in object-oriented modelling is useful as (a) it allows improving methods of an object independent of other parts of system (b) it hides implementation details of methods (c) it allows easy designing (d) encapsulates attributes and operations of object 9.1.21 Objects may be viewed as (a) clients in a system (b) servers in a system (c) as both clients and servers in a system (d) neither as clients nor as servers in a system 9.1.22 Inheritance in object-oriented system is used to (a) create new classes from existing classes (b) add new operations to existing operations (c) add new attributes to existing attributes (d) add new states to existing states 9.1.23 Inheritance in object-oriented modelling can be used to (a) generalize classes (b) specialize classes (c) generalize and specialize classes (d) create new classes 9.1.24 When a subclass is created using inheritance the resulting class (a) may have only attributes of parent class (b) may have only operations of parent class (c) may have new operations only in addition to those in parent class (d) may have new attributes and new operations in addition to those of the parent class 9.1.25 By polymorphism in object-oriented modelling we mean (a) the ability to manipulate objects of different distinct classes (b) the ability to manipulate objects of different distinct classes knowing only their common properties (c) use of polymorphic operations (d) use of similar operations to do similar things 9.1.26 A polymorphic operation (a) has same name (b) has same name but uses different methods depending on class (c) uses different methods to perform on the same class (d) uses polymorphic method LEARNING UNIT 2 9.2.1 Given a word statement of a problem potential objects are identified by selecting (a) verb phrases in the statement (b) noun phrases in the statement (c) adjectives in the statement (d) adverbs in the statement 9.2.2 Given a word statement of problem potential operations appropriate for objects are identified by selecting (a) verb phrases in the statement (b) noun phrases in the statement (c) adjectives in the statement (d) adverbs in the statement 9.2.3 Objects selected to model a system (i) must be essential for functioning of the system (ii) must have all attributes which are invariant during operations of a system (iii) must have attributes relevant for performing services of object (iv) must be able to perform assigned services (a) i, ii, iii (b) ii, iii, iv (c) i, iii, iv (d) i, ii, iii, iv 9.2.4 An object is selected for modelling a system provided (a) its attributes are invariant during operation of the system (b) its attributes change during operation of the system (c) it has numerous attributes (d) it has no attributes relevant to the system 9.2.5 An object is considered an external entity in object-oriented modelling if (a) its attributes are invariant during operation of the system (b) its attributes change during operation of the system (c) it has numerous attributes (d) it has no attributes relevant to the system LEARNING UNIT 3 9.3.1 Object-oriented system modelling using CRC method gives (a) Java programs for the system (b) C++ programs for the system (c) Classes of the system, their responsibilities and collaborating classes (d) Objective C programs for the system 9.3.2 The expansion of the acronym CRC is (a) Collecting Responsibilities Classes (b) Collaborating with Relevant Classes (c) Class Responsibilities and Collaborators (d) Creating Relevant Classes 9.3.3 In CRC based design a CRC team consists of (i) one or two user’s representatives (ii) several programmers (iii) project coordinators (iv) one or two system analysts (a) i, ii (b) i, iii (c) i, iii, iv (d) i, ii, iii, iv 9.3.4 A class index card contains besides class name (i) superclasses and subclasses (ii) short description of class (iii) collaborators (iv) private responsibilities of class (v) contract(s) with collaborators (a) i, ii, iii (b) i, iii, iv, v (c) i, ii, iii, iv (d) i, ii, iii, iv and v 9.3.5 The CRC modelling primarily requires (i) identifying classes and their responsibilities (ii) identifying collaborators of each class and their responsibilities (iii) developing a collaboration graph (a) i, ii (b) i, iii (c) ii, iii (d) i, ii, iii KEY TO OBJECTIVE QUESTIONS 9.1.1 b 9.1.7 a 9.1.13 b 9.1.19 d 9.1.25 b 9.2.5 a 9.1.2 d 9.1.8 d 9.1.14 b 9.1.20 a 9.1.26 b 9.3.1 c 9.1.3 c 9.1.9 b 9.1.15 c 9.1.21 c 9.2.1 b 9.3.2 c 9.1.4 c 9.1.10 d 9.1.16 d 9.1.22 a 9.2.2 a 9.3.3 c 9.1.5 c 9.1.11 c 9.1.17 b 9.1.23 c 9.2.3 c 9.3.4 d 9.1.6 c 9.1.12 b 9.1.18 c 9.1.24 d 9.2.4 b 9.3.5 d System Analysis and Design /Designing Outputs Motivation Motivation Presenting results of processing in an attractive and easily understood form is important Management requires these reports to initiate actions and thus the significance of outputs must be easily perceived Must be aware of new output devices being introduced to use them appropriately Must also be aware of changes in output delivery with the emergence of systems such as intranets/internet. Must also cater to newer applications such as e-commerce which uses the World Wide Web. V. Rajaraman/IISc. Bangalore //V1/July 04/1 MODULE 9 OBJECT ORIENTED SYSTEM MODELLING Learning Units 9.1 Objects and their properties 9.2 Identifying objects in an application 9.3 Modelling systems with object Systems Analysis And Design © V. Rajaraman MOTIVATION Information Systems are becoming very complex We thus need methods to design complex systems Main method is to break up a large system into a number of cooperation components and designing each component or subsystem separately Question: How do we do this? The main purpose of this module is to answer this question Systems Analysis And Design © V. Rajaraman 1 of 41 DESIRABLE PROPERTIES OF COMPONENTS Each subsystem or component must • Have clearly defined responsibility • Acts when requested by an "order" • How the component does its task need not be known to other components • What the component does should be known 9.1.1 System Analysis And Design © V. Rajaraman 2 of 41 DESIRABLE PROPERTIES OF COMPONENTS (CONTD) • Components must be general enough to be reusable • Variety of components should be reduced-this is facilitated by allowing components to inherit properties of other components • Another aid to genaralize the function of a component is to allow generic commands which make components do their task • This is called POLYMORPHISM 9.1.2 System Analysis And Design © V. Rajaraman 3 of 41 OBJECT ORIENTED MODELLING Use of component oriented design • Facilitates changes in the system at low cost • Promotes reuse of components • Problem of integrating components to configure large system simplified •Simplifies design of distributed systems 9.1.3 System Analysis And Design © V. Rajaraman 4 of 41 OBJECT AND THEIR PROPERTIES All tangible entities in an application can normally be modelled as objects For example: A student,a cycle,a train ticket Some intangible entities may also be modelled as objects For example: a bank account, stack data structure Objects with similar meaning and purpose grouped together as CLASS A member of a class is an object instance 9.1.4 System Analysis And Design © V. Rajaraman 5 of 41 CHARACTERSTICS OF OBJECTS All objects have attributes Example : student : Name Roll no Address Year Department All objects have a state Example Ticket : reserved, waiting list Student : present, absent 9.1.5 System Analysis And Design © V. Rajaraman 6 of 41 CHARACTERSTICS OF OBJECTS All objects have set of OPERATIONS which can be performed on them Operations determine object behavior Example : Admit student Cancel ticket 9.1.6 System Analysis And Design © V. Rajaraman 7 of 41 CLASS DIAGRAM – UML NOTATION Universal Modelling Language (UML) is an industry standard notation to represent a class Example of UML notation for a Class Vendor Vendor id Name Address Vendor type Add vendor Delete vendor Find address Change address Find vendor type CLASS NAME LIST OF ATTRIBUTES OPERATIONS OR (METHODS) 9.1.7 System Analysis And Design © V. Rajaraman 8 of 41 INSTANCE DIAGRAM – UML NOTATION Shows an object instance's attributes and values EXAMPLE Class name A 2546 : VENDOR VENDORNAME = AD SINGH & CO Object name and its Class name Vendor id VENDOR TYPE = DISTRIBUTOR VENDOR ADDRESS = 5, MALL ROAD,KANPUR 208001 Attributes and their values 9.1.8 System Analysis And Design © V. Rajaraman 9 of 41 OPERATION TYPES ON OBJECTS Constructor-creating new instances of a class Deleting existing instance of class Example : add new vendor Query - accessing state without changing value - has no side effects Example : find vendor address 9.1.9 System Analysis And Design © V. Rajaraman 10 of 41 OPERATION TYPES ON OBJECTS Update - changes value of one or more attributes - affect state of object - has side effects example : change address of vendor Implementation of operations on objects called methods 9.1.10 System Analysis And Design © V. Rajaraman 11 of 41 IMPLEMENTATION OF CLASSES TERMINOLOGY USED IN OBJECT ORIENTED MODELLING ABSTRACTION Picking necessary operation and attributes to specify objects ENCAPSULATION Hiding implementation details of methods from outside world ENCAPSULATION AlSO KNOWN AS INFORMATION HIDING INFORMATION HIDING ALLOWS IMPROVEMENT OR MODIFICATION OF METHODS USED BY OBJECTS WITHOUT AFFECTING OTHER PARTS OF A SYSTEM 9.1.11 System Analysis And Design © V. Rajaraman 12 of 41 VIEW OF OBJECTS AS CONTRACTORS 1) Objects can be thought of contractors who carry out assigned contracts for clients 2) Clients need not know how the contractor carries out its contracts 3) Contractors can modify/improve methods they use to carry out contracts without “informing” clients 4) External interface presented to clients remain same 9.1.12 System Analysis And Design © V. Rajaraman 13 of 41 INHERITANCE New classes are created from current classes by using the idea of inheritance New classes inherit attributes and/or operations of existing classes Inheritance allows both generalisation and specialisation in modelling Specialisation - given student class, arts students and science student are two subclasses -Subclasses inherit properties of parents and in addition may have their own special attributes and operations 9.1.13 System Analysis And Design © V. Rajaraman 14 of 41 EXAMPLE OF INHERITANCE Class name Attributes College student Roll no Name Address Year of study Admit Promote Operations Science student Roll no Name Address Year of study Department Laboratory name Admit Promote Calculate laboratory fee Class Name Arts student Roll no Name Address Year of study Department Admit Promote Calculate field trip fee Attributes Operations 9.1.14 System Analysis And Design © V. Rajaraman 15 of 41 GENERALISATION/SPECIALISATION Given a class Eye surgeon we can generalize it to surgeons which will inherit most of the attributes and operations of the eye surgeon A general class School, will inherit many properties of middle school, primary school Given a class Doctor we can obtain subclasses : Surgeon, Physician, General Practitioner, Consulting Doctor.All these will inherit many properties of doctor and will have their own new attributes and operations 9.1.15 System Analysis And Design © V. Rajaraman 16 of 41 POLYMORPHISM By polymorphism we mean ability to manipulate objects of different distinct classes knowing only their common properties Consider classes hospital & school For both the operation admit will be meaningful - they will be interpreted differently by each class Advantage of polymorphism is ease of understanding by a client A client gives a generic request - each contractor interprets and executes request as appropriate to the circumstances 9.1.16 System Analysis And Design © V. Rajaraman 17 of 41 IDENTIFYING OBJECTS Simple method - identify nouns in Requirements specification. These are potential objects - Identify verbs in requirements specification. These are potential operations 9.2.1 System Analysis And Design © V. Rajaraman 18 of 41 CRITERIA FOR PICKING OBJECTS 1) We remind that an object class has many objects as members 2) Wherever there is no possibility of confusion we use them synonymously 3) Objects should perform assigned services.In other words they must have responsibilities specified by us. 4) Objects must have relevant attributes which are necessary to perform service. Attributes must have Non-Null values. 9.2.2 System Analysis And Design © V. Rajaraman 19 of 41 CRITERIA FOR PICKING OBJECTS 5) A class must be essential for functioning of the system 6) Must have common set of attributes and operations which are necessary for all occurrences of the objects in the class 7) Objects should be independent of implementation of the system. 9.2.3 System Analysis And Design © V. Rajaraman 20 of 41 HOW TO SELECT OBJECTS 1) Potential objects selected from word statement primarily by examining noun phrases 2) All Noun phrases need not be objects 3) If there are some objects whose attributes do not change during the functioning of a system we reject them -They are probably external entities 4) We will illustrate selecting objects using examples 9.2.4 System Analysis And Design © V. Rajaraman 21 of 41 EXAMPLE 1 –WORD STATEMENT ESSENTIALS OF AN ADMISSION PROCESS TO A UNIVERSITY ARE Applicants send applications to a university registrar’s office A clerk in the registrar's office scrutinizes applications to see if mark list is enclosed and fee paid If scrutiny successful applications passed on to the relevant department 9.2.4 System Analysis And Design © V. Rajaraman 22 of 41 EXAMPLE 1 –WORD STATEMENT Departmental committee scrutinizes applications sent to it.Applications are ranked. Depending on the seats available decides to admit, wait list or reject.The application is returned with the message to the registrar’s office clerk. Registrar's office clerk informs the applicant the result of his applications 9.2.5 System Analysis And Design © V. Rajaraman 23 of 41 EXAMPLE 1 –IDENTIFICATION OF OBJECTS POTENTIAL OBJECTS 1. 2. 3. 4. APPLICANT APPLICATION REGISTRAR’S OFFICE CLERK DEPARTEMENTAL (COMMITTEE) How to select relevant objects? Decision based on answers to following questions Does it have attributes? Are operations performed on the attributes? 9.2.6 System Analysis And Design © V. Rajaraman 24 of 41 EXAMPLE 1 –IDENTIFICATION OF OBJECTS ANSWERS FOR EXAMPLE 1 1. 2. Applicant has attributes. However no operations performed on it.It is not an object in this problem. Application has attributes operations are performed using attributes of application.Result conveyed to applicant.Admit it as an object 3. Registrar’s office clerk has attributes,performs operations on application, attributes and not on clerk’s attributes.Thus reject. 4. Department taken as potential object.It has attributes.Operations are performed using attributes. Operations are performed using attributes of application object and also using attributes of department.Thus admit department as an object 9.2.7 System Analysis And Design © V. Rajaraman 25 of 41 ATTRIBUTES AND OPERATIONS PERFORMED BY IDENTIFIED OBJECTS CLASS NAME APPLICATION ATTRIBUTES APPLICATION NUMBER APPLICANT NAME APPLICANT ADDRESS MARKS SHEET FEE PAID RECEIPT DEPT. APPLIED CODE APPLN STATUS CLERK CODE CLASS NAME DEPARTEMENT ATTRIBUTES DEPARTMENT CODE DEPARTMENT NAME COURSE NO OF STUDENTS TO BE ADMITTED NO ON WAIT LIST MIN. ENTRY QUALIFICATION STATUS OF APPLICATION OPERATIONS SCRUTINIZE SEND APPLICATION TO DEPT SEND RESPONSE ADMIT/W.L/REJECT TO APPLICANT OPERATIONS SCRUTINIZE APPLICATION SEND APPLICATION STATUS 9.2.8 System Analysis And Design © V. Rajaraman 26 of 41 EXAMPLE 2 : RECEIVING ITEMS ORDERED ABSTRACT OF WORD STATEMENTS Receiving office receives several items from vendors Receiving office checks delivery note against orders and detects excess/deficient deliveries if any Discrepancy note (if any) sent to purchase office Receiving office sends items received note to inspection office Inspection office physically inspects items received and accepts good items.Bad items returned to vendor Items accepted note sent to stores office Discrepancy note sent to purchase office Stores office updates inventory based on items accepted note Stores office sends taken into stock report to the accounts office for payment to vendor Accounts office sends payments to vendors Candidate objects underlined 9.2.9 System Analysis And Design © V. Rajaraman 27 of 41 PICKING RELEVANT OBJECTS POTENTIAL OBJECTS (UNDERLINED IN LAST PPT) ARE: 1. RECEIVING OFFICE 2. ITEMS 3. VENDORS 4. DELIVERY NOTE 5. ORDERS 6. DISCREPANCY NOTE 7. PURCHASE OFFICE 8. ITEMS RECEIVED NOTE 9.INSPECTION OFFICE 10. ACCEPTED ITEMS NOTE 11. STORES OFFICE 12. INVENTORY 13. GOODS TAKEN IN STOCK REPORT 14. ACCOUNTS OFFICE 15. PAYMENT VOUCHER OBJECTS NOT RELEVANT TO THIS APPLICATION Items Orders Inventory As no operations on these Goods taken in stock Payment voucher RELEVANT OBJECTS Receiving office – Even though its own attributes are not relevant,its functional attributes are important.These are: -Delivery note and order to vendor It thus derives its attributes from these 9.2.10 System Analysis And Design © V. Rajaraman 28 of 41 RELEVANT OBJECTS VENDORS No operations on this object are needed in this application.However its attributes are necessary as the Accounts office makes payment to vendors CLASS : VENDORS ATTRIBUTES : Vendor code Vendor name Vendor address VENDOR is actually an external object.We have thus given only attributes relevant to this application.In general design one would usually define this object more comprehensively 9.2.11 System Analysis And Design © V. Rajaraman 29 of 41 ATTRIBUTES OF DELIVERY NOTE AND ORDER TO VENDOR CLASS : DELIVERY NOTE Attributes : Receiving clerk id Order no Vendor code Delivery date Item code Qty supplied Units CLASS : ORDER TO VENDOR Attributes : Order no Vendor code Item code Item name Qty ordered Units Price/Unit Order date Delivery period 9.2.12 System Analysis And Design © V. Rajaraman 30 of 41 RECEIVING OFFICE OBJECT Receiving office is selected as an object.Its attributes are attributes derived from delivery note and order to vendor The class diagram is give below CLASS RECEIVING OFFICE Is Part of DELIVERY NOTE Is Part of ORDER TO VENDOR 9.2.13 System Analysis And Design © V. Rajaraman 31 of 41 RECEIVING OFFICE OBJECT CLASS : RECEIVING OFFICE Attributes : Derived as shown in the previous slide Operations : Compare order no,item code, qty,etc in delivery note with that in order to vendor Send discrepancy note (if any) to purchase office and vendor.If no discrepancy send delivery note to purchase Send delivery note to inspection office(object) 9.2.14 System Analysis And Design © V. Rajaraman 32 of 41 OTHER RELEVANT OBJECTS CLASS : STORES OFFICE Attributes : Attributes of inspection office + qty in stock Operations : Update inventory by adding no of items accepted to qty in stock Send advice to accounts object to make payment for qty accepted 9.2.15 System Analysis And Design © V. Rajaraman 33 of 41 NEXT OBJECT IS INSPECTION OFFICE CLASS : INSPECTION OFFICE Attributes : Derived attributes from delivery note + no of items accepted Operations : Send information an accepted items to store and accounts Send discrepancy note( if any) to purchase office and vendor 9.2.16 System Analysis And Design © V. Rajaraman 34 of 41 OTHER OBJECTS ARE CLASS : ACCOUNTS OFFICE Attributes : Derived from inspection office attributes + price/unit of item Operations : Calculate amount to be paid Print cheque Request vendor object for vendor address Print vendor address label Dispatch payment to vendor Intimate Purchase office of payment 9.2.17 System Analysis And Design © V. Rajaraman 35 of 41 OBJECT ORIENTED MODELLING-CRC METHOD Steps in object oriented modelling 1) Find objects and their classes 2) Determine responsibilities of each object 3) State responsibilities, that is, actions. It can can carry out on its own using its knowledge 4) Determine objects with whom they collaborate. 5) State contracts each object assigns to its collaborations 6) A collaborator either performs a requested action or gives information 7) Document each class – its responsibilities,its collaborators and their responsibilities 8) Develop an object interaction/collaboration graph 9.3.1 System Analysis And Design © V. Rajaraman 36 of 41 CRC TEAM IDEA CRC TEAM : user's representative System analyst(s) project coordinator RESPONSIBILITY : Identify objects Specify responsibility Specify collaborators and their responsibilities Prepare a card for each class called class index cards 9.3.2 System Analysis And Design © V. Rajaraman 37 of 41 CRC METHODOLOGY 1. Make CRC Card for each class CRC CARD CLASS NAME : SUPER CLASSES AND SUBCLASSES : SHORT DESCRIPTION OF CLASS : COLLABORATORS : PRIVATE RESPONSIBILITIES OF CLASS : CONTARCTS WITH COLLABORATORS : Develop a graph to show interaction between classes 9.3.3 System Analysis And Design © V. Rajaraman 38 of 41 CRC MODEL - EXAMPLE For Example1 of last learning unit the CRC model is given below Class : APPLICATION Super class : None Sub class : None Collaborators : DEPARTEMENT Description : This class represents applications received for admission to a university Private Responsibilities : Scrutinize : Applications are scrutinized to see if fee is paid and marks sheet is enclosed. If yes, applications is sent to department class.Else a rejected letter is sent to the applicant Contract(s) and Collaborator(s): Forward application to department : When it passes scrutiny else send reject to applicant Send letter to applicant : When Department notifies decision (Admit,Reject,Waitlist) send appropriate letter to the applicant 9.3.4 System Analysis And Design © V. Rajaraman 39 of 41 CRC MODEL – EXAMPLE (CONTD) Class : DEPARTMENT Super class : None Sub class : None Collaborators : APPLICATION Description : This class represents departments whose responsibility is to admit, reject or place an waiting list on application Private Responsibilities : Rank order applications based on selection criteria.Mark in application:admitted,rejected or in waiting list depending o available seats Contract(s) and Collaborator(s): Send reply to applicationclass on admitted, rejected or wait list 9.3.5 System Analysis And Design © V. Rajaraman 40 of 41 COLLABORATION GRAPH CLASS Admit/reject/wait list APPLICATION Applicant Examine application Application status CLASS DEPARTMENT COLLABORATION GRAPH FOR EXAMPLE2 Delivery Vendor Payment Delivery copy Discrepancy note CLASS RECEIVING OFFICE Inspect CLASS INSPECTION OFFICE Update Inventory CLASS CLASS PURCHASE OFFICE Payment ACCOUNTS OFFICE Make copy CLASS STORES OFFICE payment 9.3.6 System Analysis And Design © V. Rajaraman 41 of 41 MODULE 9 OBJECT ORIENTED SYSTEM MODELLING Contents 1. MOTIVATION AND LEARNING GOALS 2. LEARNING UNIT 1 Objects and their properties 3. LEARNING UNIT 2 Identifying objects in an application 4. LEARNING UNIT 3 Modelling systems with object 5. References OBJECT ORIENTED SYSTEM MODELLING MOTIVATION Information Systems are becoming very complex, we thus need methods to design complex systems. Main method is to break up a large system into a number of cooperation components and designing each component or subsystem separately. How do we do this? The main purpose of this module is to answer this question. LEARNING GOALS At the end of this module you will know: 1. 2. 3. 4. What are objects. Why is it necessary to identify objects in an application. How to identify objects given requirement specifications. How objects are used to model information system. LEARNING UNIT 1 Objects and their properties DESIRABLE PROPERTIES OF COMPONENTS Each subsystem or component must • Have clearly defined responsibility • Act when requested by an "order" • How the component does its task need not be known to other components • What the component does should be known • Components must be general enough to be reusable • Variety of components should be reduced-this is facilitated by allowing components to inherit properties of other components • Another aid to generalize the function of a component is to allow generic commands which make components do their task. This is called POLYMORPHISM OBJECT ORIENTED MODELLING Use of component oriented design facilitates changes in the system at low cost, promotes reuse of components, problem of integrating components to configure large system will be simplified. It also simplifies design of distributed systems. OBJECT AND THEIR PROPERTIES All tangible entities in an application can normally be modelled as objects For example: A student,a cycle,a train ticket Some intangible entities may also be modelled as objects For example: a bank account, stack data structure Objects with similar meaning and purpose grouped together as CLASS. And a member of a class is an object instance. CHARACTERSTICS OF OBJECTS All objects have attributes Example : student : Name Roll no Address Year Department All objects have a state Example Ticket: reserved, waiting list Student: present, absent All objects have set of OPERATIONS which can be performed on them. Operations determine object behavior Example : Admit student Cancel ticket CLASS DIAGRAM – UML NOTATION Universal Modelling Language (UML) is an industry standard notation to represent a class Example of UML notation for a Class Vendor Vendor id Name Address Vendor type CLASS NAME LIST OF ATTRIBUTES Add vendor Delete vendor OPERATIONS OR (METHODS) Find address INSTANCE DIAGRAM – UML NOTATION Change address Find an object instance's attributes and values Showsvendor type EXAMPLE Class name Object name and its Class name A 2546 : VENDOR Vendor id VENDOR ID = A2546 VENDORNAME = AD SINGH & CO VENDOR TYPE = DISTRIBUTOR VENDOR ADDRESS = 5, MALL ROAD,KANPUR 208001 Attributes and their values OPERATION TYPES ON OBJECTS Constructor-creating new instances of a class and deleting existing instance of class Example : add new vendor Query - accessing state without changing value, has no side effects Example : find vendor address Update - changes value of one or more attributes & affect state of object Example : change address of vendor Implementation of operations on objects called methods IMPLEMENTATION OF CLASSES TERMINOLOGY USED IN OBJECT ORIENTED MODELLING ABSTRACTION Picking necessary operation and attributes to specify objects ENCAPSULATION Hiding implementation details of methods from outside world, it is also known as information hiding. Information hiding allows improvement or modification of methods used by objects without affecting other parts of a system VIEW OF OBJECTS AS CONTRACTORS 1) Objects can be thought of contractors who carry out assigned contracts for clients 2) Clients need not know how the contractor carries out its contracts 3) Contractors can modify/improve methods they use to carry out contracts without “informing” clients 4) External interface presented to clients remain same INHERITANCE New classes are created from current classes by using the idea of inheritance.They inherit attributes and/or operations of existing classes. Inheritance allows both generalisation and specialisation in modelling Specialisation - given student class, arts students and science student are two subclasses, subclasses inherit properties of parents and in addition may have their own special attributes and operations. EXAMPLE OF INHERITANCE Class name Attributes College student Roll no Name Address Year of study Admit Promote Operations Science student Roll no Name Address Year of study Department Laboratory name Admit Promote Calculate laboratory fee Class Name Arts student Roll no Name Address Year of study Department Admit Promote Calculate field trip fee Attributes Operations GENERALISATION/SPECIALISATION Given a class Eye surgeon we can generalize it to surgeons which will inherit most of the attributes and operations of the eye surgeon A general class School, will inherit many properties of middle school, primary school Given a class Doctor we can obtain subclasses : Surgeon, Physician, General Practitioner, Consulting Doctor.All these will inherit many properties of doctor and will have their own new attributes and operations POLYMORPHISM By polymorphism we mean ability to manipulate objects of different distinct classes knowing only their common properties, Consider classes hospital & school For both the operation admit will be meaningful, but they will be interpreted differently by each class. Advantage of polymorphism is ease of understanding by a client. A client gives a generic request - each contractor interprets and executes request as appropriate to the circumstances LEARNING UNIT 2 Identifying objects in an application IDENTIFYING OBJECTS Simple method - identify nouns in Requirements specification. These are potential objects - Identify verbs in requirements specification. These are potential operations CRITERIA FOR PICKING OBJECTS 1)We remind that an object class has many objects as members 2)Wherever there is no possibility of confusion we use them synonymously 3)Objects should perform assigned services. In other words they must have responsibilities specified by us. 4)Objects must have relevant attributes which are necessary to perform service. Attributes must have Non-Null values. 5)A class must be essential for functioning of the system 6)Must have common set of attributes and operations which are necessary for all occurrences of the objects in the class 7)Objects should be independent of implementation of the system. HOW TO SELECT OBJECTS 1) Potential objects are selected from word statement primarily by examining noun phrases 2) All Noun phrases need not be objects 3) If there are some objects whose attributes do not change during the functioning of a system we reject them. They are probably external entities EXAMPLE 1 –WORD STATEMENT ESSENTIALS OF AN ADMISSION PROCESS TO A UNIVERSITY ARE Applicants send applications to a university registrar’s office A clerk in the registrar's office scrutinizes applications to see if mark list is enclosed and fee paid If scrutiny successful applications passed on to the relevant department Departmental committee scrutinizes applications sent to it. Applications are ranked. Depending on the seats available decides to admit, wait list or reject. The application is returned with the message to the registrar’s office clerk. Registrar's office clerk informs the applicant the result of his applications POTENTIAL OBJECTS 1. 2. 3. 4. 1. APPLICANT APPLICATION REGISTRAR’S OFFICE CLERK DEPARTEMENTAL (COMMITTEE) Applicant has attributes. However no operations performed on it. It is not an object in this problem. 2. Application has attributes operations are performed using attributes of application. Result conveyed to applicant. Admit it as an object 3. Registrar’s office clerk has attributes, performs operations on application’s attributes and not on clerk’s attributes. Thus reject. 4. Department taken as potential object. It has attributes. Operations are performed using attributes. Operations are performed using attributes of application object and also using attributes of department. Thus admit department as an object ATTRIBUTES AND OPERATIONS PERFORMED BY IDENTIFIED OBJECTS APPLICATION ATTRIBUTES APPLICATION NUMBER APPLICANT NAME APPLICANT ADDRESS MARKS SHEET FEE PAID RECEIPT DEPT. APPLIED CODE APPLN STATUS CLERK CODE OPERATIONS SCRUTINIZE SEND APPLICATION TO DEPT SEND RESPONSE ADMIT/W.L/REJECT TO APPLICANT DEPARTEMENT ATTRIBUTES DEPARTMENT CODE DEPARTMENT NAME COURSE NO OF STUDENTS TO BE ADMITTED NO ON WAIT LIST MIN. ENTRY QUALIFICATION STATUS OF APPLICATION OPERATIONS SCRUTINIZE APPLICATION SEND APPLICATION STATUS EXAMPLE 2 : RECEIVING ITEMS ORDERED ABSTRACT OF WORD STATEMENTS Receiving office receives several items from vendors Receiving office checks delivery note against orders and detects excess/deficient deliveries if any Discrepancy note (if any) sent to purchase office Receiving office sends items received note to inspection office Inspection office physically inspects items received and accepts good items.Bad items returned to vendor Items accepted note sent to stores office Discrepancy note sent to purchase office Stores office updates inventory based on items accepted note Stores office sends taken into stock report to the accounts office for payment to vendor Accounts office sends payments to vendors PICKING RELEVANT OBJECTS POTENTIAL OBJECTS ARE: 1. RECEIVING OFFICE 2. ITEMS 3. VENDORS 4. DELIVERY NOTE 5. ORDERS 6. DISCREPANCY NOTE 7. PURCHASE OFFICE 8. ITEMS RECEIVED NOTE 9.INSPECTION OFFICE 10. ACCEPTED ITEMS NOTE 11. STORES OFFICE 12. INVENTORY 13. GOODS TAKEN IN STOCK REPORT 14. ACCOUNTS OFFICE 15. PAYMENT VOUCHER OBJECTS NOT RELEVANT TO THIS APPLICATION Items Orders Inventory Goods taken in stock Payment voucher RELEVANT OBJECTS Receiving office – Even though its own attributes are not relevant, its functional attributes are important. These are: -Delivery note and order to vendor It thus derives its attributes from these RELEVANT OBJECTS VENDORS No operations on this object are needed in this application. However its attributes are necessary as the Accounts office makes payment to vendors CLASS : VENDORS ATTRIBUTES : Vendor code Vendor name Vendor address VENDOR is actually an external object.We have thus given only attributes relevant to this application.In general design one would usually define this object more comprehensively ATTRIBUTES OF DELIVERY NOTE AND ORDER TO VENDOR CLASS : DELIVERY NOTE CLASS : ORDER TO VENDOR Attributes : Receiving clerk id Order no Vendor code Delivery date Item code Qty supplied Units Attributes : Order no Vendor code Item code Item name Qty ordered Units Price/Unit Order date Delivery period RECEIVING OFFICE OBJECT Receiving office is selected as an object. Its attributes are attributes derived from delivery note and order to vendor The class diagram is given below CLASS RECEIVING OFFICE Is Part of DELIVERY NOTE Is Part of ORDER TO VENDOR RECEIVING OFFICE OBJECT CLASS : RECEIVING OFFICE Attributes : Derived as shown above Operations : Compare order no,item code, qty,etc in delivery note with that in order to vendor Send discrepancy note (if any) to purchase office and vendor.If no discrepancy send delivery note to purchase Send delivery note to inspection office(object) OTHER RELEVANT OBJECTS CLASS : STORES OFFICE Attributes : Attributes of inspection office + qty in stock Operations : Update inventory by adding no of items accepted to qty in stock Send advice to accounts object to make payment for qty accepted CLASS : INSPECTION OFFICE Attributes : Derived attributes from delivery note + no of items accepted Operations : Send information on accepted items to store and accounts Send discrepancy note( if any) to purchase office and vendor CLASS : ACCOUNTS OFFICE Attributes : Derived from inspection office attributes + price/unit of item Operations : Calculate amount to be paid Print cheque Request vendor object for vendor address Print vendor address label LEARNING UNIT 3 Modelling systems with object OBJECT ORIENTED MODELLING-CRC METHOD Steps in object oriented modelling 1) Find objects and their classes 2) Determine responsibilities of each object 3) State responsibilities, that is, actions. It can carry out on its own using its knowledge 4) Determine objects with whom they collaborate. 5) State contracts each object assigns to its collaborators 6) A collaborator either performs a requested action or gives information 7) Document each class – its responsibilities,its collaborators and their responsibilities 8) Develop an object interaction/collaboration graph CRC TEAM IDEA CRC TEAM : user's representative System analyst(s) project coordinator RESPONSIBILITY : Identify objects Specify responsibility Specify collaborators and their responsibilities Prepare a card for each class called class index cards CRC METHODOLOGY 1. Make CRC Card for each class CRC CARD CLASS NAME : SUPER CLASSES AND SUBCLASSES : SHORT DESCRIPTION OF CLASS : Develop a graph to show interaction between classes CRC MODEL – EXAMPLE1 Class : APPLICATION Super class : None Sub class : None Collaborators : DEPARTEMENT Private Responsibilities : Description : This class represents applications received for admission to a university Scrutinize : Applications are scrutinized to see if fee is paid and marks sheet is enclosed. If yes, applications is sent to department class.Else a rejected letter is sent to the applicant Contract(s) and Collaborator(s): Forward application EXAMPLE (CONTD) passes scrutiny else send reject to applicant CRC MODEL – to department : When it Send letter to applicant : When Department notifies decision (Admit,Reject,Waitlist) send appropriate letter to the applicant Class : DEPARTMENT Super class : None Sub class : None Collaborators : APPLICATION Description : This class represents departments whose responsibility is to admit, reject or place an waiting list on application Private Responsibilities : Rank order applications based on selection criteria mark’s in application:admitted,rejected or in waiting list depending o available seats Contract(s) and Collaborator(s): Send reply to applicationclass on admitted, rejected or wait list COLLABORATION GRAPH Examine application Admit/reject/wait list Applicant CLASS APPLICATION Application status CLASS DEPARTMENT COLLABORATION GRAPH FOR EXAMPLE2 : Receiving items ordered by a company CLASS RECEIVING OFFICE Delivery Inspect CLASS INSPECTION OFFICE Vendor Payment Delivery copy Discrepancy note Update Inventory CLASS PURCHASE OFFICE Payment copy CLASS ACCOUNTS OFFICE Make payment CLASS STORES OFFICE REFERENCES 1. Most of the material in this module has been taken from the book “Analysis and Design of Information Systems”, 2nd Edition, V.Rajaraman, Prentice Hall of India, New Delhi, 2003. Chapter 13, Object Oriented System Modelling (pp.180-199) 2. There are several standard books on object oriented modeling for those who want to study deeper. Some of these are: (i) I.Jacobson et.al “Object Oriented Software Engineering”, Pearson Education Asia, 1998 (ii) David Colemen et.al “Object Oriented Development”, Prentice Hall, Inc., N.J., WA,1999 (iii) J.Rumbaugh et.al “Object Oriented Design and Applications”, Benjamin Cumming, U.S.A., 1991 System Analysis and Design/ Object-Oriented System Modeling Multiple Choice Questions 9.1 Computer systems are designed by a. simplifying requirements of system b. breaking of the system into smaller self-contained co-operating subsystems c. breaking up the systems into independent parts d. modular design 9.2 Functions and procedures are a. not useful in designing computer systems b. old fashioned and they are not useful c. useful in designing computer systems d. have side effects which require special care if they are used as subsystems 9.3 A subsystem of a complex system must specify a. what task it performs b. how it performs a task c. with which subsystems it co-operates d. how it co-operates with other systems 9.4 A subsystem of a complex system must a. b. c. ii, iii ii, iv iii, iv 9.5 A subsystem of a complex system (i)should be reusable in other complex system (ii)must not be able to inherit the properties of other subsystems (iii)must have clearly specified responsibilities (iv)must know the stimuli to which it should respond a. i, ii, iii b. ii, iii, iv c. i, iii, iv d. i, ii, iv V. Rajaraman/IISc. Bangalore M9/V1/July 04/1 System Analysis and Design/ Object-Oriented System Modeling Multiple Choice Questions 9.6 By polymorphism of a subsystem we mean a. it should be reusable b. it should have polymorphic data types c. it should accept generic commands and interpret appropriately d. it should morph polygons 9.7 The advantages of object-oriented modelling are a. i, ii b. i, iii c. ii, iii d. i, iv 9.8 Objects are (i)tangible entities (ii)intangible entities (iii)transient entities (iv) uniquely identifiable a. i, ii b. i, ii, iii c. i, ii, iii, iv d. i, ii, iv 9.9 A class is a. a group of objects b. template for objects of a particular type c. a class of objects d. a classification of objects 9.10 All objects have (i) attributes (ii) states (iii)a set of operations (iv) a unique identity a. b. i, ii, iii ii, iii, iv V. Rajaraman/IISc. Bangalore M9/V1/July 04/2 System Analysis and Design/ Object-Oriented System Modeling Multiple Choice Questions c. d. i, iii, iv i, ii, iii, iv 9.11 In UML diagram of a class a. state of object cannot be represented b. state is irrelevant c. state is represented as an attribute d. state is represented as a result of an operation 9.12 Attributes are assigned value a. when operations are performed on an object b. when instances of objects are defined c. when methods are invoked d. when classes are identified 9.13 The following are intangible entities which can be defined as objects (i) (ii) a motor car a bank account (iii) an aircraft (iv) a linked list a. b. c. d. i, ii ii, iv iii, iv ii, iii, iv 9.14 A query operation on a object a. b. c. d. has side effect has no side effects changes the state of an object is not allowed 9.15 An instance of an object is created by a a. b. c. d. query operation update operation constructor operation open operation V. Rajaraman/IISc. Bangalore M9/V1/July 04/3 System Analysis and Design/ Object-Oriented System Modeling Multiple Choice Questions 9.16 An update operation in an object instance a. b. c. d. updates the class has no side effects deletes an instance alters values of attribute(s) of an object instance 9.17 In object-oriented design a. b. operations and methods are identical methods specify algorithms whereas operations only state what is to be done c. d. methods do not change values of attributes methods and constructor are same 9.18 By abstraction in object-oriented modelling we mean picking a. only attributes appropriate to model an object b. c. only operations both operation and attributes with operations appropriate to model an object d. the appropriate abstract data type 9.19 By encapsulation in object-oriented modelling we mean a. encapsulating data and programs b. hiding attributes of an object from users c. hiding operations on object from users d. hiding implementation details of methods from users of objects 9.20 Encapsulation in object-oriented modelling is useful as a. it allows improving methods of an object independent of other parts of system b. it hides implementation details of methods c. it allows easy designing d. encapsulates attributes and operations of object 9.21 Objects may be viewed as a. clients in a system b. servers in a system V. Rajaraman/IISc. Bangalore M9/V1/July 04/4 System Analysis and Design/ Object-Oriented System Modeling Multiple Choice Questions c. as both clients and servers in a system d. neither as clients nor as servers in a system 9.22 Inheritance in object-oriented system is used to a. create new classes from existing classes b. add new operations to existing operations c. add new attributes to existing attributes d. add new states to existing states 9.23 Inheritance in object-oriented modelling can be used to a. generalize classes b. specialize classes c. generalize and specialize classes d. create new classes 9.24 When a subclass is created using inheritance the resulting class a. may have only attributes of parent class b. may have only operations of parent class c. may have new operations only in addition to those in parent class d. may have new attributes and new operations in addition to those of the parent class 9.25 By polymorphism in object-oriented modelling we mean a. the ability to manipulate objects of different distinct classes b. the ability to manipulate objects of different distinct classes knowing only their common properties c. use of polymorphic operations d. use of similar operations to do similar things 9.26 A polymorphic operation a. has same name b. has same name but uses different methods depending on class c. uses different methods to perform on the same class d. uses polymorphic method 9.27 Given a word statement of a problem potential objects are identified by selecting V. Rajaraman/IISc. Bangalore M9/V1/July 04/5 System Analysis and Design/ Object-Oriented System Modeling Multiple Choice Questions a. verb phrases in the statement b. noun phrases in the statement c. adjectives in the statement d. adverbs in the statement 9.28 Given a word statement of problem potential operations appropriate for objects are identified by selecting a. verb phrases in the statement b. noun phrases in the statement c. adjectives in the statement d. adverbs in the statement 9.29 Objects selected to model a system (i)must be essential for functioning of the system (ii)must have all attributes which are invariant during operations of a system (iii)must have attributes relevant for performing services of object (iv) must be able to perform assigned services a. i, ii, iii b. ii, iii, iv c. i, iii, iv d. i, ii, iii, iv 9.30 An object is selected for modelling a system provided a. its attributes are invariant during operation of the system b. its attributes change during operation of the system c. it has numerous attributes d. it has no attributes relevant to the system 9.31 An object is considered an external entity in object-oriented modelling a. its attributes are invariant during operation of the system b. its attributes change during operation of the system c. it has numerous attributes d. it has no attributes relevant to the system V. Rajaraman/IISc. Bangalore M9/V1/July 04/6 System Analysis and Design/ Object-Oriented System Modeling Multiple Choice Questions 9.32 Object-oriented system modelling using CRC method gives a. Java programs for the system b. C++ programs for the system c. Classes of the system, their responsibilities and collaborating classes d. Objective C programs for the system 9.33 The expansion of the acronym CRC is a. Collecting Responsibilities Classes b. Collaborating with Relevant Classes c. Class Responsibilities and Collaborators d. Creating Relevant Classes 9.34 In CRC based design a CRC team consists of (i) one or two user’s representatives (ii) several programmers (iii) project coordinators (iv) one or two system analysts a. b. c. d. 9.35 i, ii i, iii i, iii, iv i, ii, iii, iv A class index card contains besides class name (i) superclasses and subclasses (ii) short description of class (iii)collaborators (iv)private responsibilities of class (v)contract(s) with collaborators a. b. c. d. i, ii, iii i, iii, iv, v i, ii, iii, iv i, ii, iii, iv and v 9.36 The CRC modeling primarily requires (i)identifying classes and their responsibilities V. Rajaraman/IISc. Bangalore M9/V1/July 04/7 System Analysis and Design/ Object-Oriented System Modeling Multiple Choice Questions (ii)identifying collaborators of each class and their responsibilities (iii)developing a collaboration graph a. b. c. d. i, ii i, iii ii, iii i, ii, iii V. Rajaraman/IISc. Bangalore M9/V1/July 04/8 System Analysis and Design/ Object-Oriented System Modeling Multiple Choice Questions Key to Objective Questions 9.1 9.7 b a 9.2 9.8 9.14 b 9.20 a 9.26 b 9.32 c d d 9.3 9.9 9.15 9.21 9.27 c b c c 9.4 9.10 d 9.16 d 9.22 a 9.29 9.34 c 9.23 c c 9.5 c 9.6 c 9.12 b 9.18 c d 9.11 c 9.17 b c 9.24 9.30 9.35 d b 9.13 b 9.19 d 9.25 b 9.31 a b9.28 a 9.33 c 9.36 d V. Rajaraman/IISc. Bangalore M9/V1/July 04/9 MODULE 9 OBJECT-ORIENTED SYSTEM MODELLING WORKED EXAMPLES 13.1What is object-oriented modelling? Object-oriented modelling is a methodology of analyzing requirements of a system with the aim of identifying subsystems with the following desirable properties: (a) Each subsystem should have clearly specified responsibility of performing a part of overall task. (b) Other parts of the subsystem should not have to know how a subsystem performs the task assigned to it, rather they should only know what task a subsystem does (c) Each subsystem should be self-contained and independent (d) Each subsystem should know what other subsystems do and how to send requests to them for assistance so that it can cooperate with them to get its own job done (e) Subsystem should hide from outside world the data it uses (f) The subsystem should be designed to be reusable 13.2 Why is object-oriented modelling used in practice? Object-oriented modelling is used in practice as it • Facilitates changing of system to improve functionality during the system life time • Facilitates reuse of code of each of the subsystems used to design the large system • Facilitates integrating subsystems into a large system • Facilitates design of distributed systems 13.3 When is objected-oriented modelling particularly useful? An object-oriented modelling is particularly useful in the following situations: • It is required to change an existing system by adding new functionality • While designing large system and it is found that it can be designed as a collection of existing reusable objects 13.4 Define an object. An object is an entity, which is uniquely identifiable and permanent relative to the life time cycle of an application. It may be tangible or intangible. Examples of tangible objects are bus, student etc. Examples of intangible objects are bank account, queue data structure etc. 13.5 What is the difference between a class and an object? A class can be termed as a group of objects having similar behavior and similar attributes. A class is a template or blueprint, which defines all the properties and attributes that an object belonging to it possess. An object is a particular instance of a class. Each object has values assigned to its attributes. 13.6What are subclasses and superclasses? Give examples of each of these Subclasses are classes which have some common attributes and operations inherited from parent class. The parent class is called superclass. There may be more than one superclass for a subclass. Though the operations in subclasses are same as superclasses but they may be interpreted in a different way. A subclass overrides the functionality of superclass. For example, if class furniture is a superclass then its subclasses are tables, chairs, cots etc. A vehicle is a superclass and its subclasses may be cycle, scooter, car, buses etc. 13.7 What do you understand by information hiding? Why is it resorted to in designing information systems? How is it achieved? Information hiding is the way of hiding the implementation details of an object from the outside world. Any changes in the way the operations are performed by an object is not visible to the client and vice-versa. An object can change the code used by it without affecting the functionality of client. It is achieved by specifying the operations which an object can perform and publicising them. 13.8 What do you mean by inheritance in object-oriented systems? Why is it useful? Give an example of inheritance. Inheritance is a technique by which the properties and attributes of a class are inherited by a subclass. With inheritance we can refine the subclasses by adding some new attributes and functionality. For Example, the Employee class shown below is the superclass and the classes Salesman and Accounts_Assistant are inherited classes. Class name Attributes Employee Emp_no Emp_name Address Date_of_joining Calculate_salary() Calculate_incometax() Operations Salesman Emp_no Emp_name Address Date_of_joining Dept. Sell_product() Calculate_commsn() class name Accounts Assistant Emp_no Emp_name Address Date_of_joining Dept. Accounts_of_purchased_ items() Generate_salary_bill() Attributes Operations 13.9What do you understand by the term polymorphism in object-oriented system? Why is it useful? Give an example of polymorphism. By polymorphism we mean , the ability to manipulate objects of different distinct classes using only knowledge of their common property. For example: An operation reservation would be interpreted appropriately by a class describing a train using rules relevant to the railway. The same operation reservation would be interpreted differently by another class representing an airline. 13.11Pick objects and model the following requirements statement using the object. “A magazine is printed monthly and posted to its subscribers. Two months before the expiry of subscription, a reminder is sent to the subscribers. If subscription is not received within a month, another reminder is sent. If renewal subscription is not received upto two weeks before the expiry of the subscription, the subscriber’s name is removed from the mailing list and subscriber is informed”. Class: Attributes: Magazine Publishing Company Magazine_id, Sub_id Company_address Magazine_name Operations: Request_subscn( magazine_id) Class: Attributes: Subscription Accounts Magazine_id Sub_id Sub_address Subcn_exp_date Subscn_amount Operations: Send_first_reminder(sub_id) Send_second_reminder(sub_id) Delete_subscriber(sub_id) Update_subscriber_account(sub_id) Magazine Publishing Company Class Class: Magazine Publishing Company Superclass: None Subclass: None Collaborators: Subscription Accounts Description: The class represents the company, which prints many magazines monthly and sends magazine with magazine_id to the subscription accounts class Private responsibilities: Request_subscn_accounts processing Delete the subscriber’s name from acknowledgement Contract(s) with collaborator(s): Dispatch the receipt after receiving the money the mailing list and send Subscription Accounts Class Class: Subscription Accounts Superclass: None Subclass: None Collaborators: Magazine Publishing Company Description: This class processes subscription accounts Private responsibilities: Send Subscription, reminders, update subscribers Contractor(s) and Collaborators: Send confirmation along with money for subscription Send acknowledgement after receiving magazine Class Magazine_publishing company Send the magazine and mag_id Class Magazine_subscn_acc ounts Send ack Send cheque Request_Subscn Subscriber Collaboration graph 13.12Give brief requirements specification for a bus ticket reservation system. Model it using objects. For making reservation for a bus a passenger has to fill-up a form, which has field specifications like name, address, date of journey, destination etc. After filling up the form the ticket is issued from the counter after checking for the availability of the seats. A passenger has an option to cancel his ticket. The two classes taken here are ticket class and bus class. The ticket class sends a message to bus class regarding the availability of seats and gets the confirmation from the bus class. Class: Attributes: Ticket Bus_No Ticket_No Date_of_issue Date_of_journey Starting_Point Destination Passenger_Name Fare Departure_Time Checkin_Time Issue_ticket() Cancel_ticket() Query() Operation: Class: Attributes: Bus Bus_No No_of_Seats Availability Route_No Confirm() Operation: Class: Attributes: Passenger Passenger_Name Address Ph. No Date_of_Journey Bus_No Route_No Booking_Ticket() Operation: Ticket Class Class: Ticket Superclass: None Subclass: None Collaborators: Bus, Passenger Description: Issue ticket to the passenger Private responsibilities: Issue the ticket to the passenger if it is confirmed Cancel the ticket and return the money Contractor(s) and collaborator(s) Send the query to Bus class for getting the status Passenger Class Class: Passenger Superclass: None Subclass: None Collaborator(s): Bus Description: This class gets the details about availability of bus and seats Private responsibilities: Contractor(s) and Collaborator(s): Send query to the bus class to get the bus no. and the availability of bus and seats Bus Class Class: Bus Superclass: None Subclass: None Collaborator(s): passenger, Ticket Description: Send the information regarding status of bus and seats Private responsibilities: Contractor(s) and collaborator(s): Send the confirmation regarding the availability of seats and bus to the passenger and ticket class Get the status of the bus Passenger Book the ticket Cancel Ticket Confirm Get the status of the bus Bus Collaboration graph System Analysis and Design /Object Oriented System Modeling Question Bank Question Bank 9.1 9.2 9.3 9.4 9.5 9.6 9.7 What is object oriented modelling? Why is object oriented modelling used in practice? When is object oriented modelling particularly useful Define an object What is the difference between a class and an object What are subclasses and superclasses. Give examples of each of these. What do you understand by information hiding? Why is it resorted to in designing information systems? How is it achieved? 9.8 What do you mean by inheritance in object oriented systems? Why is it useful? Give an example of inheritance. 9.9 What do you understand by the term polymorphism in object oriented system? Why is it useful? Give an example of polymorphism. 9.10 How do you select objects from a requirement specification. Given the following requirement statement, select potential objects. A list of employers with their basic pay is sent to a clerk. He calculates the gross pay using standard allowances which are known for each pay slab. Deduction statements such as loan repayment, subscription to association etc., are also sent to another clerk who matches these slips with the slips of gross pay and calculates net pay. This step is used by another clerk to write out pay cheques for each employee and sent to respective employees. The total pay bills computed is also computed". 1 V. Rajaraman/IISc. Bangalore M9/V1/July 04/1 System Analysis and Design /Object Oriented System Modeling Question Bank 9.11 Pick objects and model the following requirements statement using objects. "A magazine is printed monthly and posted to its subscribers. Two months before the expiry of subscription, a reminder is sent to the subscribers. If subscription is not received within a month, another reminder is sent . If renewal subscription is not received upto two weeks before the expiry of the subscription, the subscriber's name is removed from the mailing list and the subscriber informed". 9.12 Give a brief requirement specification for a bus ticket reservation system. Model it using objects. 2 V. Rajaraman/IISc. Bangalore M9/V1/July 04/2 System Analysis and Design /Object Oriented System Modeling Pointers References 1. Most of the material in this module has been taken from the book “Analysis and Design of Information Systems”, 2nd Edition, V.Rajaraman, Prentice Hall of India, New Delhi, 2003. Chapter 13, Object Oriented System Modelling (pp.180199) 2. There are several standard books on object oriented modeling for those who want to dwell deeper. Some of these are: (i) I.Jacobson et.al “Object Oriented Software Engineering”, Pearson Education Asia, 1998 (ii) David Colemen et.al “Object Oriented Development”, Prentice Hall, Inc., N.J., WA,1999 (iii) J.Rumbaugh et.al “Object Oriented Design and Applications”, Benjamin Cumming, U.S.A., 1991. V. Rajaraman/IISc. Bangalore M9/V1/July 04/1 SUMMARY of Module 9 1. Complex systems are designed by breaking down such systems into a number of cooperating subsystems which are reasonably independent and self-contained. 2. 3. One method of design is to use what are known as objects as subsystems. The main motivation for using object oriented modelling is the realisation that individual objects may be modified without affecting the other parts of the system. 4. 5. Objects also promote their reuse in many systems. An object is an entity which is uniquely identifiable and is permanent relative to the life time scale of an application. All objects have attributes and state. A set of operations are defined for each object which determines their behaviour. 6. Objects collaborate by responding to requests from other objects to carry out specified operations. 7. Objects having similar meaning and purpose may be grouped together to form a class. A class may be considered as a template for objects of a particular type. 8. 9. Special properties of objects are encapsulation, inheritance and polymorphism. Encapsulation is the hiding of implementation details of an object from the clients who use the services provided by an object. 10. A class A may have attributes and operations which are identical to another class B in addition to its own attributes and operations. In such a case class A is said to inherit operations and attributes of class B. 11. Using inheritance a hierarchy of classes may be constructed where children inherit some of the properties of their parents in addition to their own properties 1 12. An important concept in modelling using objects is polymorphism. Polymorphism is the ability to manipulate objects of different distinct classes using only knowledge of their common property. 13. To model an information system using objects the requirements specification is examined and all nouns in it are picked as potential objects. 14. From among potential objects the relevant ones appropriate for modelling are the ones which have specific responsibilities and essential for the functioning of the system. 15. Having identified objects and their responsibilities the next step is to find the objects with whom they collaborate 16. A documents is prepared for each class giving its own responsibilities, its collaborators and their responsibilities. 17. A graph showing pictorially the classes and their mutual collaboration completes object oriented modeling. 2 Question Bank – Module 9 13.1 13.2 13.3 13.4 13.5 13.6 13.7 What is object oriented modelling? Why is object oriented modelling used in practice? When is object oriented modelling particularly useful Define an object What is the difference between a class and an object What are subclasses and superclasses. Give examples of each of these. What do you understand by information hiding? designing information systems? How is it achieved? 13.8 What do you mean by inheritance in object oriented systems? Why is it useful? Give an example of inheritance. 13.9 What do you understand by the term polymorphism in object oriented system? Why is it useful? Give an example of polymorphism. 13.1 How do you select objects from a requirement specification. Given the following requirement statement, select potential objects. A list of employers with their basic pay is sent to a clerk. He calculates the gross pay using standard allowances which are known for each pay slab. Deduction statements such as loan repayment, subscription to association etc., are also sent to another clerk who matches these slips with the slips of gross pay and calculates net pay. This step is used by another clerk to write out pay cheques for each employee and sent to respective employees. The total pay bills computed is also computed". Why is it resorted to in 3 13.1 Pick objects and model the following requirements statement using objects. "A magazine is printed monthly and posted to its subscribers. Two months before the expiry of subscription, a reminder is sent to the subscribers. If subscription is not received within a month, another reminder is sent . If renewal subscription is not received upto two weeks before the expiry of the subscription, the subscriber's name is removed from the mailing list and the subscriber informed". 13.1 Give a brief requirements specification for a bus ticket reservation system. Model it using objects. 4 References 1. Most of the material in this module has been taken from the book “Analysis and Design of Information Systems”, 2nd Edition, V.Rajaraman, Prentice Hall of India, New Delhi, 2003. Chapter 13, Object Oriented System Modelling (pp.180199) 2. There are several standard books on object oriented modeling for those who want to dwell deeper. Some of these are: (i) I.Jacobson et.al “Object Oriented Software Engineering”, Pearson Education Asia, 1998 (ii) David Colemen et.al “Object Oriented Development”, Prentice Hall, Inc., N.J., WA,1999 (iii) J.Rumbaugh et.al “Object Oriented Design and Applications”, Benjamin Cumming, U.S.A., 1991 5 MODULE 10 DESIGNING OUTPUTS OBJECTIVE QUESTIONS There are 4 alternative answers to each question. One of them is correct. Pick the correct answer. Do not guess. A key is given at the end of the module for you to verify your answer LEARNING UNIT 1 10.1.1 (i) (ii) (iii) (iv) A line printer prints an entire line at a time is a non-impact printer allows multiple copies to be taken at a time prints one character at a time (a) i and ii (b) i and iii (c) iii and iv (d) ii and iii A dot matrix printer prints an entire line at time is a non-impact printer allows multiple copies to be taken at a time prints one character at a time (a) i and ii (b) i and iii (c) iii and iv (d) ii and iii An inkjet printer prints an entire line at time is a non-impact printer allows multiple copies to be taken at a time prints one character at a time (a) i and ii (b) i and iii (c) iii and iv (d) ii and iii 10.1.2 (i) (ii) (iii) (iv) 10.1.3 (i) (ii) (iii) (iv) 10.1.4 (i) (ii) (iii) (iv) A laser printer prints an entire line at a time is a non-impact printer allows multiple copies to be taken at a time prints one character at a time (a) i and ii (b) i and iii (c) iii and iv (d) ii and iii 10.1.5 A laser printer (i) gives a better quality printout compared to inkjet printer (ii) is less expensive than an inkjet printer (iii) is more expensive than a dot matrix printer (iv) gives a better quality printout compared to dot matrix printer (a) i and ii (b) ii and iii (c) i, ii, iv (d) i, iii, iv 10.1.6 An audio output unit (a) can speak out small range of digits and specified words (b) is not used in information system (c) is very expensive and is thus not used (d) is normally used to give only background music LEARNING UNIT 2 10.2.1 While designing output report it is important to keep the following in mind: (i) volume of output (ii) potential users (iii) current users (iv) periodicity of output (a) i, ii, iii (b) ii, iii, iv (c) i, ii, iv (d) i, ii, iii, iv 10.2.2 Outputs needed by top-managers are (a) summary reports with good grouping (b) exception reports (c) detailed reports (d) expected reports 10.2.3 Outputs needed by middle level managers are (a) summary reports with good grouping (b) exception reports (c) detailed reports (d) expected reports 10.2.4 Outputs needed by operational managers are (a) summary reports with good grouping (b) exception reports (c) detailed reports (d) expected reports LEARNING UNIT 3 10.3.1 Reports headings are used as (a) it is good practice (b) it helps in reading and understanding a report (c) it is required by management (d) it is a good documentation aid 10.3.2 Report footing is (a) same as report heading (b) the label printed at the end of each page (c) the label printed at the end of each control group (d) the label printed at the end of a report 10.3.3 Page footing is (a) same as report heading (b) the labels printed at the end of each page (c) the labels printed at the end of each control group (d) the labels printed at the end of a report 10.3.4 Control footing is (a) same as report heading (b) the labels printed at the end of each page (c) the labels printed at the end of each control group (d) the labels printed at the end of a report 10.3.5 Control footings are printed because (a) it is required in documentation (b) it is suggested by management (c) it summarizes information in logically grouped items (d) it is necessary for error detection 10.3.6 Good report allows one to (i) read it from left to right and top to bottom (ii) read it from any point (iii) find out easily the beginning and end of the report (iv) printed it in one page (a) i and ii (b) i and iii (c) ii and iii (d) iii and iv 10.3.7 Print chart is (a) a printed chart (b) one which is filled in by an analyst while formatting a report (c) prepared by users (d) printed by computer LEARNING UNIT 4 10.4.1 Screens normally have (a) 70 columns and 24 lines (b) 80 columns and 20 lines (c) 80 columns and 24 lines (d) 72 columns and 22 lines 10.4.2 Designing screens uses principles (a) which are unique (b) similar to those used for printed reports (c) different from those used for printed reports (d) which are well specified 10.4.3 Buttons which can be clicked using a mouse are placed in screens as (a) they are convenient to use (b) it is the modern trend (c) large number of buttons can be used (d) using a keyboard is error prone 10.4.4 Bar charts are used when (a) it is required to illustrate geographical distribution of data (b) relative distribution of data in specified categories is to be shown (c) percent use of resources under various heads is to be shown (d) trends as a function of time is to be illustrated 10.4.5 Pie charts are normally used when (a) it is required to illustrate geographical distribution of data (b) relative distribution of data in specified categories is to be shown (c) percent use of resources under various heads is to be shown (d) trends as a function of time is to be illustrated 10.4.6 X-Y graphs are normally used when (a) it is required to illustrate geographical distribution of data (b) relative distribution of data in specified categories is to be shown (c) percent use of resources under various heads is to be shown (d) trends as a function of time is to be illustrated KEY TO OBJECTIVE QUESTIONS 10.1.1 b 10.2.1 d 10.3.3 b 10.4.2 b 10.1.2 c 10.2.2 a 10.3.4 c 10.4.3 a 10.1.3 a 10.2.3 b 10.1.4 a 10.2.4 c 10.1.5 d 10.1.6 a 10.3.1 b 10.3.2 d 10.3.7 b 10.4.1 c 10.4.6 d 10.3.5 c 10.3.6 b 10.4.4 b 10.4.5 c System Analysis and Design / Object Oriented Systems Modeling Motivation Motivation Information Systems are becoming very complex. We thus need methods to design complex systems. Main method is to break up a large system into a number of cooperation components and designing each component or subsystem separately. Question: How do we do this? The main purpose of this module is to answer this question. V. Rajaraman/IISc. Bangalore //V1/July 04/1 MODULE 10 DESIGNING OUTPUTS Contents 10.1 Output Devices 10.2 Objectives of output design 10.3 Design of output reports 10.4 Design of screens and graphics Systems Analysis And Design © V. Rajaraman LEARNING GOALS •Review characteristics of devices used to output information from computers •Objectives of output design •Design of reports •design of screens •Role of graphics in output design Systems Analysis And Design © V. Rajaraman 1 of 29 MOTIVATION • • Presenting results of processing in an attractive and easily understood form is important Management requires these reports to initiate actions and thus the significance of outputs must be easily perceived • Must be aware of new output devices being introduced to use them appropriately • • Must also be aware of changes in output delivery with the emergence of systems such as intranets/internet. Must also cater to newer applications such as e-commerce which uses the world wide web. Systems Analysis And Design © V. Rajaraman 2 of 29 OUTPUT DEVICES •HARD COPY DEVICES - PRINTERS •SOFT DEVICES - VIDEO DISPLAY DEVICES TEXT AUDIO - SPEECH SYNTHESISER •MULTIMEDIA GRAPHICS VIDEO 10.1.1 Systems Analysis And Design © V. Rajaraman 3 of 29 HARD COPY DEVICES Printers used when - there is large volume of data - several copies normally needed Types of printers Line Printers • Impact Dot matrix character printers • Non-Impact Laser printer Inkjet printer © V. Rajaraman 4 of 29 10.1.2 Systems Analysis And Design PRINTER CHARACTERSTICS LINE PRINTERS -LARGE VOLUME OUTPUT -FAST - ENTIRE LINE PRINTED -MULTIPLE COPIES -HIGH CAPITAL COST BUT LOW RUNNING COST DOT MATRIX PRINTERS - SLOW - INEXPENSIVE ( PER COPY COST) - MULTIPLE COPIES WITH CARBON PAPER - POOR GRAPHICS 10.1.3 Systems Analysis And Design © V. Rajaraman 5 of 29 PRINTER CHARACTERSTICS INKJET PRINTERS -CHARACTERS + GRAPHICS -MULTICOLOUR -CAPITAL COST LOW COMPARED TO LASER PRINTER -RECURRING COST HIGH LASER PRINTERS -CHARACTERS + GRAPHICS -MULTICOLOUR EXPENSIVE -EXCELLENT QUALITY -CAPITAL COST HIGH - RECURRING COST LOWER THAN INKJET 10.1.4 Systems Analysis And Design © V. Rajaraman 6 of 29 SOFT COPY MEDIA • Used to distribute manuals, massive reports, user documents, software FLOPPY DISK CDROM Alternatives DVD ROM FLASH MEMORY (SEMI CONDUCTOR) 10.1.5 Systems Analysis And Design © V. Rajaraman 7 of 29 SOFT COPY MEDIA (CONTD) • FLOPPY DISK - Inexpensive - Easy to mail/transport - Low capacity –1.4MB - Read/write - Contact recording – number of read/writes limited 10.1.6 Systems Analysis And Design © V. Rajaraman 8 of 29 SOFT COPY MEDIA (CONTD) • CDROM - Inexpensive Medium - Read only cheaper/safer - High capacity – 600MB - Easy to transport/mail - Primarily used for Text/Graphics • DVDROM - Read only cheaper/safer - Very high capacity – upto 8GB - Easy to transport - Useful for storing high quality video such as full length movies 10.1.7 Systems Analysis And Design © V. Rajaraman 9 of 29 SOFT COPY MEDIA (CONTD) • FLASH MEMORY - Read/Write - Small size and weight - No moving parts thus very reliable - Needs USB port on PC - Size 128KB to 2GB - Low Power needs - Expensive 10.1.8 Systems Analysis And Design © V. Rajaraman 10 of 29 SPEECH OUTPUT DEVICES • Audio such as beeps used for alerting users • Device used is a speaker - Very small and inexpensive for beeps - Inexpensive for speech quality • Useful when eyes are busy,for example, while driving,pilots etc. • Pre-recorded speech is output in such cases • Text-to-speech also useful for giving instructions where manuals cannot be read. 10.1.9 Systems Analysis And Design © V. Rajaraman 11 of 29 OBJECTIVES OF OUTPUT DESIGN While designing output format and picking output devices the following should be taken into account •The user group •Proposed use •Volume of output •Periodicity of output •Timely delivery when required 10.2.1 Systems Analysis And Design © V. Rajaraman 12 of 29 NATURE OF OUTPUT REPORTS •TOP MANAGEMENT - Summary highlighting important results Graphical Output – Pie charts - Bar charts -Maps Needed for strategic management 10.2.2 Systems Analysis And Design © V. Rajaraman 13 of 29 NATURE OF OUTPUT REPORTS •MIDDLE MANAGEMENT - Exception reports - Reduced output volume - Needed for tactical management 10.2.3 Systems Analysis And Design © V. Rajaraman 14 of 29 NATURE OF OUTPUT REPORTS • OPERATIONAL MANAGEMENT - DETAILS NEEDED For example -Payroll -Grade sheets -Cheques 10.2.4 Systems Analysis And Design © V. Rajaraman 15 of 29 PERIODICITY OF OUTPUT REPORTS (CONTD) • TOP MANAGEMENT -Whenever there are any significant changes -Give option to ask for specific details -Periodic quarterly • MIDDLE MANAGEMENT -Send daily exceptions -Provide summary on terminal with option to look at greater details on request 10.2.5 Systems Analysis And Design © V. Rajaraman 16 of 29 PERIODICITY OF OUTPUT REPORTS (CONTD) • OPERATIONAL MANAGEMENT -Regular periods -Periods depend on application -Example : Payroll monthly 10.2.6 Systems Analysis And Design © V. Rajaraman 17 of 29 DESIGNING OF OPERATIONAL OUTPUT REPORTS Structure of a report - Headings •Report heading •Page heading - appears in each page •Detailed heading for each column •Set of records forming a logical group called control group and is given a control heading 10.3.1 Systems Analysis And Design © V. Rajaraman 18 of 29 DESIGNING OF OPERATIONAL OUTPUT REPORTS (Contd) Structure of a report - Footings •Labels used to describe information contained in a control group are called control footings •Labels printed at the end of each page of a report is called page footing • Label used to give the control information for the whole report is called final control footing •Label printed at the end of the entire report is called report footing Systems Analysis And Design 10.3.2 © V. Rajaraman 20 of 29 EXAMPLE OF TERMINOLOGY Report heading Page heading Control heading Detail lines INDIAN INSTITUTE OF SCIENCE - ACADEMIC ROLL LIST ROLL LIST OF STUDENTS SEM 1/2000-2001 LIST OF STUDENTS IN AEROSPACE ENGG DEPT Roll No 97101115 97101125 97101135 . Name A.B.BHATTACHARYA A.K.CHANDRA R.K.GUPTA P.R.RAO Name A.C.ARVIND L.S.BHATIA P.R.ZAVERI . . 97201198 Control footing TOTAL NO OF STUDENTS Roll No 97102105 97102121 . . . 97102131 Control footing Final control footing Report footing 10.3.3 TOTAL NO OF STUDENTS IN CHEMICAL ENGG.DEPT = 63 TOTAL NO OF STUDENTS IN SEM 1/200-2001 = 852 END OF IISc BANGALORE ROLL LIST FOR SEM 1/2000-2001 Systems Analysis And Design © V. Rajaraman 19 of 29 PRINT CHART • Print chart used by analyst to develop paper report format • Languages available to describe format of report and a report generation program creates report 10.3.4 Systems Analysis And Design © V. Rajaraman 21 of 29 GENERAL PRINCIPLES OF DESIGNING REPORTS •Should be able to read left to right, top to bottom •Easy to find important items such as keys •All pages numbered and has heading. Report date essential •All columns labelled •Keep essential details only •Proper use of control footings •Page and report footing useful •Space for end of report signature if needed 10.3.5 Systems Analysis And Design © V. Rajaraman 22 of 29 DESIGN OF SCREENS •Screen display convenient for interactive use •Screen size normally smaller than printer - usually 80 cols per line and 24 lines per screen •Principle of layout similar –Primarily ease of reading •Provision made at bottom of screen to continue, get details or exit •Nowadays screens are designed with buttons which can be clicked using a mouse to get details, continue or exit from screen 10.4.1 Systems Analysis And Design © V. Rajaraman 23 of 29 EXAMPLES OF SCREENS SCREEN FOR GENERAL STUDENT INFORMATION INDIAN INSTITUTE OF SCIENCE STUDENT INFORMATION SYSTEM ROLL NO 9501325 9602415 9602325 9701425 9702112 NAME A.B.BHATTACHARYA A.P.DAS P.GANAPATHY G.HARI H.JAI SINGH DEPT AEROSPACE CSA EE MET CIVIL YEAR ME 1 Ph.D M.Sc ME II Ph.D DETAILS CONTINUE EXIT CLICK BUTTON AS REQUIRED 10.4.2 Systems Analysis And Design © V. Rajaraman 24 of 29 EXAMPLES OF SCREENS SCREEN FOR DETAILED STUDENT INFORMATION INDIAN INSTITUTE OF SCIENCE STUDENT INFORMATION SYSTEM 05-05-2000 ROLL NO NAME YEAR GUARDIAN ADDRESS 9701425 G.HARI ME II P.GANESHAN 41 OLIVER STREET MYLAPORE MADRAS 600 004 DETAILS RETURN 10.4.3 Systems Analysis And Design © V. Rajaraman 25 of 29 BUISNESS GRAPHICS SHOWS INFORMATION IN PICTORIAL FORM WHICH IS EASY TO UNDERSTAND USUAL PICTURES ARE •BAR CHARTS - RELATIVE DISTRIBUTION EASY TO SEE •PIE CHARTS - %USE OF RESOURCES EASY TO SEE •X-Y GRAPHS - TRENDS EASY TO SEE •MAPS - GEOGRAPHICAL DISTRIBUTION EASY TO SEE 10.4.4 Systems Analysis And Design © V. Rajaraman 26 of 29 USE OF GRAPH Total sales of textiles (in lakhs) 140 120 100 80 60 40 20 0 0 85 86 87 88 89 90 Year 10.4.5 Systems Analysis And Design © V. Rajaraman 27 of 29 BAR CHART 350 No of employees 300 250 200 150 100 50 0 0 20 25 30 35 40 45 50 55 60 Age 10.4.6 Systems Analysis And Design © V. Rajaraman 28 of 29 PIE CHART Dividends 15% R& D 5% Misc 15% Equipment 10% Tax 10% Interest payment 15% Raw material 20% Salaries 20% Systems Analysis And Design 10.4.7 © V. Rajaraman 29 of 29 PIE CHART Dividends 15% R& D 5% Misc 15% Equipment 10% Tax 10% Interest payment 15% Raw material 20% Salaries 20% Systems Analysis And Design © V. Rajaraman 16 of 25 of module3 MODULE 10 DESIGNING OUTPUTS Contents 1. MOTIVATION AND LEARNING GOALS 2. LEARNING UNIT 1 Output Devices 3. LEARNING UNIT 2 Objectives of output design 4. LEARNING UNIT 3 Design of output reports 5. LEARNING UNIT 4 Design of screens and graphics 6. REFERENCES DESIGNING OUTPUTS MOTIVATION Presenting results of processing in an attractive and easily understood form is important as management requires these reports to initiate actions and thus the significance of outputs must be easily perceived. One must be aware of new output devices being introduced to use them appropriately, also be aware of changes in output delivery with the emergence of systems such as intranets/internet. Must also cater to newer applications such as e-commerce that uses the world wide web. LEARNING GOALS At the end of this module you will know •Review characteristics of devices used to output information from computers •Objectives of output design •Design of reports •design of screens •Role of graphics in output design LEARNING UNIT 1 Output Devices 1) HARD COPY DEVICES – PRINTERS 2) SOFT DEVICES - VIDEO DISPLAY DEVICES TEXT AUDIO - SPEECH SYNTHESISER 3) MULTIMEDIA GRAPHICS VIDEO HARD COPY DEVICES Printers used when there is large volume of data and several copies are normally needed Types of printers Line Printers Impact Dot matrix character printers Laser printer Non-Impact Inkjet printer PRINTER CHARACTERSTICS LINE PRINTERS -Large volume output -fast entire line printed -multiple copies -high capital cost but low running cost DOT MATRIX PRINTERS - Slow - inexpensive ( per copy cost) - multiple copies with carbon paper - poor graphics INKJET PRINTERS - Characters + graphics multicolour capital cost low compared to laser printer recurring cost high LASER PRINTERS -Characters + graphics -multicolour expensive -excellent quality -capital cost high - recurring cost lower than inkjet SOFT COPY MEDIA Used to distribute manuals, massive reports, user documents, etc FLOPPY DISK CDROM Alternatives DVD ROM • FLOPPY DISK - Inexpensive - Easy to mail/transport - Low capacity –1.4MB - Read/write - Contact recording – number of read/writes limited • CDROM - Inexpensive Medium FLASH MEMORY (SEMI CONDUCTOR) - Read only cheaper/safer - High capacity – 600MB - Easy to transport/mail - Primarily used for Text/Graphics • DVDROM - Read only cheaper/safer - Very high capacity – upto 8GB - Easy to transport - Useful for storing high quality video such as full length movies • FLASH MEMORY - Read/Write - Small size and weight - No moving parts thus very reliable - Needs USB port on PC - Size 128KB to 2GB - Low Power needs - Expensive SPEECH OUTPUT DEVICES • Audio such as beeps used for alerting users • Device used is a speaker - Very small and inexpensive for beeps - Inexpensive for poor speech quality • Useful when eyes are busy, for example, while driving, pilots etc. • Pre-recorded speech is output in such cases • Text-to-speech also useful for giving instructions where manuals cannot be read. LEARNING UNIT 2 Objectives of output design While designing output format and picking output devices the following should be taken into account •The user group •Proposed use •Volume of output •Periodicity of output •Timely delivery when required NATURE OF OUTPUT REPORTS •TOP MANAGEMENT - Summary highlighting important results - Graphical Output – Pie charts - Bar charts -Maps Needed for strategic management •MIDDLE MANAGEMENT - Exception reports - Reduced output volume - Needed for tactical management •OPERATIONAL MANAGEMENT - Details needed for example :payroll, grade sheets, cheques PERIODICITY OF OUTPUT REPORTS • TOP MANAGEMENT -Whenever there are any significant changes -Give option to ask for specific details -Periodic quarterly • MIDDLE MANAGEMENT -Send daily exceptions -Provide summary on terminal with option to look at greater details on request • OPERATIONAL MANAGEMENT -Regular periods -Periods depend on application -Example : Payroll monthly LEARNING UNIT 3 Design of output reports DESIGNING OF OPERATIONAL OUTPUT REPORTS Structure of a report - Headings •Report heading •Page heading - appears in each page •Detailed heading for each column •Set of records forming a logical group called control group and is given a control heading Structure of a report - Footings •Labels used to describe information contained in a control group are called control footings •Labels printed at the end of each page of a report is called page footing • Label used to give the control information for the whole report is called final control footing •Label printed at the end of the entire report is called report footing EXAMPLE OF TERMINOLOGY Report heading Page heading INDIAN INSTITUTE OF SCIENCE - ACADEMIC ROLL LIST Roll No 97101115 Name A.B.BHATTACHARYA ROLL LIST OF STUDENTS SEM 1/2000-2001 Control heading LIST OF STUDENTS IN AEROSPACE ENGG DEPT Control footing TOTAL NO OF STUDENTS IN AEROSPACE ENG DEPT=68 LIST OF STUDENTS IN CHEM ENGG DEPT Roll No Name Control footing Final control footing Report footing 97102105 A.C.ARVIND 97102121 L.S.BHATIA . . 97102131 P.R.ZAVERI TOTAL NO OF STUDENTS IN CHEMICAL ENGG.DEPT = 63 TOTAL NO OF STUDENTS IN SEM 1/200-2001 = 852 END OF IISc BANGALORE ROLL LIST FOR SEM 1/2000-2001 PRINT CHART Analyst to develop paper report format uses print chart. Languages are available to describe format of report and a report generation program creates report GENERAL PRINCIPLES OF DESIGNING REPORTS 1. 2. 3. 4. 5. 6. 7. 8. Should be able to read from left to right, top to bottom Easy to find important items such as keys All pages numbered and has heading. Report date is essential All columns should be labelled Keep essential details only Proper use of control footings Page and report footing useful Space for end of report signature if needed LEARNING UNIT 4 Design of screens and graphics DESIGN OF SCREENS Screen display must be convenient for interactive use. Screen size is usually 80 cols per line and 24 lines per screen. Provision must be made at bottom of screen to continue, get details or exit.Nowadays screens are designed with buttons which can be clicked using a mouse to get details, continue or exit from screen EXAMPLES OF SCREENS SCREEN FOR GENERAL STUDENT INFORMATION INDIAN INSTITUTE OF SCIENCE STUDENT INFORMATION SYSTEM ROLL NO 9501325 9602415 9602325 9701425 9702112 NAME A.B.BHATTACHARYA A.P.DAS P.GANAPATHY G.HARI H.JAI SINGH DEPT AEROSPACE CSA EE MET CIVIL YEAR ME 1 Ph.D M.Sc ME II Ph.D DETAILS CONTINUE CLICK BUTTON AS REQUIRED EXIT SCREEN FOR DETAILED STUDENT INFORMATION INDIAN INSTITUTE OF SCIENCE STUDENT INFORMATION SYSTEM ROLL NO NAME YEAR GUARDIAN ADDRESS DETAILS 9701425 G.HARI ME II P.GANESHAN 41 OLIVER STREET MYLAPORE RETURN MADRAS 600 004 05-05-2000 BUISNESS GRAPHICS Shows information in pictorial form which is easy to understand Usual pictures are •bar charts - relative distribution easy to see •pie charts - %use of resources easy to see •x-y graphs - trends easy to see •maps - geographical distribution easy to see USE OF GRAPH 350 300 250 200 150 100 50 0 0 20 25 30 35 40 45 50 55 60 Year BAR CHART 350 300 250 200 150 100 50 0 0 20 25 30 35 40 45 50 55 60 Age PIE CHART Dividends 15% R& D 5% Misc 15% Raw material 20% Salaries 20% Equipment 10% Tax 10% Interest payment 15% References 1. Most of the material is taken from Chapter 14 of the text book “Analysis and Design of Information Systems” by V.Rajaraman, 2nd Edition, Prentice Hall of India, New Delhi. 2. There is a good coverage of this type in Kendall and Kendall “System Analysis and Design”, Pearson Education Asia, 2003, Chapter 15, pp.478-496. 3. J.A.Hoffer, J.F.George, J.S.Valachich, “Modern Systems Analysis and Design”, 3rd Edition, Pearson Education Asia, New Delhi, 2002, discusses forms and reports design in Chapter 13, pp.432 to 450. Designing dialogues and graphical user interfaces is discussed in Chapter 14, pp. 460 to 490. Companion web site is prenticehall.com/hoffer for multiple choice questions etc. System Analysis and Design/ Designing Outputs Multiple Choice Questions 10.1 A line printer (i) prints an entire line at a time (ii) is a non-impact printer (iii) allows multiple copies to be taken at a time (iv) prints one character at a time a. i and ii b. i and iii c. iii and iv d. ii and iii 10.2 A dot matrix printer (i) prints an entire line at time (ii) is a non-impact printer (iii) allows multiple copies to be taken at a time (iv) prints one character at a time a. i and ii b. i and iii c. iii and iv d. ii and iii 10.3 An inkjet printer (i) prints an entire line at time (ii) is a non-impact printer (iii) allows multiple copies to be taken at a time (iv) prints one character at a time a. i and ii b. i and iii c. iii and iv d. ii and iii 10.4 A laser printer (i)prints an entire line at a time (ii)is a non-impact printer (iii)allows multiple copies to be taken at a time V. Rajaraman/IISc. Bangalore M10/V1/July 04/1 System Analysis and Design/ Designing Outputs Multiple Choice Questions (iv) prints one character at a time a. i and ii b. i and iii c. iii and iv d. ii and iii 10.5 A laser printer (i)gives a better quality printout compared to inkjet printer (ii)is less expensive than an inkjet printer (iii)is more expensive than a dot matrix printer (iv)gives a better quality printout compared to dot matrix printer a. i and ii b. ii and iii c. i, ii, iv d. i, iii, iv 10.6 An audio output unit a. can speak out small range of digits and specified words b. is not used in information system c. is very expensive and is thus not used d. is normally used to give only background music 10.7 While designing output report it is important to keep the following in mind: (i) volume of output (ii)potential users (iii)current users (iv) periodicity of output a. i, ii, iii b. ii, iii, iv c. i, ii, iv d. i, ii, iii, iv 10.8 Outputs needed by top-managers are a. summary reports with good grouping V. Rajaraman/IISc. Bangalore M10/V1/July 04/2 System Analysis and Design/ Designing Outputs Multiple Choice Questions b. exception reports c. detailed reports d. expected reports 10.9 Outputs needed by middle level managers are a. summary reports with good grouping b. exception reports c. detailed reports d. expected reports 10.10 Outputs needed by operational managers are a. summary reports with good grouping b. exception reports c. detailed reports d. expected reports 10.11 Reports headings are used as a. it is good practice b. it helps in reading and understanding a report c. it is required by management d. it is a good documentation aid 10.12 Report footing is a. same as report heading b. the label printed at the end of each page c. the label printed at the end of each control group d. the label printed at the end of a report 10.13 Page footing is a. same as report heading b. the labels printed at the end of each page c. the labels printed at the end of each control group d. the labels printed at the end of a report 10.14 Control footing is a. same as report heading b. the labels printed at the end of each page V. Rajaraman/IISc. Bangalore M10/V1/July 04/3 System Analysis and Design/ Designing Outputs Multiple Choice Questions c. the labels printed at the end of each control group d. the labels printed at the end of a report 10.15 Control footings are printed because a. it is required in documentation b. it is suggested by management c. it summarizes information in logically grouped items d. it is necessary for error detection 10.16 Good report allows one to (i)read it from left to right and top to bottom (ii)read it from any point (iii)find out easily the beginning and end of the report (iv) printed it in one page a. i and ii b. i and iii c. ii and iii d. iii and iv 10.17 Print chart is a. a printed chart b. one which is filled in by an analyst while formatting a report c. prepared by users d. printed by computer 10.18 Screens normally have a. 70 columns and 24 lines b. 80 columns and 20 lines c. 80 columns and 24 lines d. 72 columns and 22 lines 10.19 Designing screens uses principles a. which are unique b. similar to those used for printed reports c. different from those used for printed reports d. which are well specified V. Rajaraman/IISc. Bangalore M10/V1/July 04/4 System Analysis and Design/ Designing Outputs Multiple Choice Questions 10.20 Buttons which can be clicked using a mouse are placed in screens as a. they are convenient to use b. it is the modern trend c. large number of buttons can be used d. using a keyboard is error prone 10.21 Bar charts are used when a. it is required to illustrate geographical distribution of data b. relative distribution of data in specified categories is to be shown c. percent use of resources under various heads is to be show d. trends as a function of time is to be illustrated 10.22 Pie charts are normally used when a. it is required to illustrate geographical distribution of data b. relative distribution of data in specified categories is to be shown c. percent use of resources under various heads is to be shown d. trends as a function of time is to be illustrated 10.23 X-Y graphs are normally used when a. it is required to illustrate geographical distribution of data b. relative distribution of data in specified categories is to be shown c. percent use of resources under various heads is to be shown d. trends as a function of time is to be illustrated V. Rajaraman/IISc. Bangalore M10/V1/July 04/5 System Analysis and Design/ Designing Outputs Multiple Choice Questions Key to Objective Questions 10.1 b 10.7 d 10.13 b 10.19 b 10.2 c 10.8 a 10.14 c 10.20 a 10.3 a 10.9 b 10.15 c 10.21 b 10.22 c 10.4 a 10.10 c 10.16 b 10.23 d 10.5 d 10.11 b 10.17 b 10.6 a 10.12 d 10.18 c V. Rajaraman/IISc. Bangalore M10/V1/July 04/6 MODULE 10 DESIGNING OUTPUTS WORKED EXAMPLES 10.1 What is the difference between impact and non-impact printers? Give an example of each type of printer. Impact printers depend on a print head striking a carbon ribbon to transfer a character print on a paper. Non-impact printer does not have a print head. Characters are transferred on paper by a xerographic process. A line printer is an impact printer. A laser is a non-impact printer. For what types of outputs are video display units appropriate? What is the main difference in characteristics between video display units and printers? VDU is useful for interactive editing, on-line display of answers to queries, etc. A line printer is used for hard copy reports to be stored and distributed to a number of people. 10.2 10.3 What type of output will you use for the following: (i) Strategic management (ii) Tactical management (iii) Operational management (i) Strategic: Graphs, summaries, pie charts, etc. (ii) Tactical: Summary reports, exception reports, low volume printing. Graphical aids are also used to supplement. (iii) Operational: Detailed printouts. High volume reports. 10.4 What is report generator? Report generators convert report specifications given in a high level language to formatted printed reports. 10.5 What is the main difference between the design of an output screen for a video terminal and a page layout for a printer? Display screen size is smaller. As it is on-line, a user has to actively participate in using the display. Thus instructions must be given to users in a display on what to do next. 10.6 Pick the appropriate graphics for the following applications: (i) Relative enrollment of students in various departments in a University. (ii) Growth of student strength in a department over a period of 10 years. (iii) Sales percent of a product in 6 years of a country. (iv) Proportion of total revenue of a state from direct taxes, indirect taxes, public loans, land revenue, income from public sector companies, and miscellaneous receipts. (v) Engineering colleges established in different parts of a country (i) Pie chart (ii) Bar chart or trend chart (iii) Pie chart (iv) Pie chart (v) Map of India with data showing colleges in each region. System Analysis and Design/Designing Outputs Question Bank Question Bank 10.1 What is the difference between impact and non-impact printers? Give an example of each type of printer? 10.2 What is the speed range of a line printer? What is the speed range of a character printer? 10.3 For what types of outputs are video display units appropriate? What is the main difference in characteristics between video display units and printers? 10.4 What type of output will you use for the following: a. Strategic management b. Tactical management c. Operational management 10.5 10.6 10.7 10.8 When is a detailed printed output appropriate? What is the difference between off-line and on-line output presentation? What are the various headings used in a report? Why are they required? What is a print chart? How is it used? Prepare a print chart for stores data processing system. 10.9 Why are control footings used in printed reports? 10.10 What is a report generator? 10.11 List the important points to keep in mind while designing the format of a report. 10.12 What is the main difference between the design of an output screen for a video terminal and the page layout for a printer? 10.13 What do you understand by business graphics? 10.14 Pick the appropriate graphics presentation for the following applications: a. Relative enrollment of students in various departments in a University. b. Growth of student strength in a department over a period of 10 years. c. Sales percent of a product in 6 regions of a country. d. Proportion of total revenue of a state from direct taxes, indirect taxes, public loan, land revenue, income from public sector companies, and miscellaneous receipts. e. Engineering colleges established in different parts of a country. 10.15 When is color presentation of graphics useful? Give examples. V. Rajaraman/IISc. Bangalore M10/V1/July 04/1 System Analysis and Design/ Designing Outputs Pointers References 1. Most of the material is taken from Chapter 14 of the text book “Analysis and Design of Information Systems” by V.Rajaraman, 2nd Edition, Prentice Hall of India, New Delhi. 2. There is a good coverage of this type in Kendall and Kendall “System Analysis and Design”, Pearson Education Asia, 2003, Chapter 15, pp.478-496. 3. J.A.Hoffer, J.F.George, J.S.Valachich, “Modern Systems Analysis and Design”, 3rd Edition, Pearson Education Asia, New Delhi, 2002, discusses forms and reports design in Chapter 13, pp.432 to 450. Designing dialogues and graphical user interfaces is discussed in Chapter 14, pp. 460 to 490. Companion web site is prenticehall.com/hoffer for multiple choice questions etc. V. Rajaraman/IISc. Bangalore M10/V1/July 04/1 SUMMARY of Module 10 1. The most commonly used output devices are printers, video display terminals and audio output devices. 2. Printers are of two types, line printers and character printers. For large volume printing, line printers are most appropriate. Character printers are useful for low volume printing. They also provide simple graphics output. Multiple copies can be taken using carbon paper. 3. Inkjet and laser printers are non-impact printers. Laser printers provide high quality printing and are mostly used in desk top publishing (DTP) system. Both inkjet and laser printers can display graphics output. 4. Capital cost of inkjet printers is small but its running cost is high. Laser printers on the other hand cost more but printing cost per page is lower. 5. Video displays are normally used for on-line display of information. They are interactive and a user has to be instructed how to get appropriate information. 6. Audio outputs are becoming popular with the advent of inexpensive speech synthesizers. Currently audio output is used in enquiry systems to answer simple queries. 7. 8. Auido outputs are essential when eyes are otherwise busy. Before designing a report and deciding on the output device to be used, one must ask for whom it is intended, its proposed use, and its volume and frequency. 9. Reports for top management must be brief, preferably graphical, and convey information for strategic management. 1 10 Reports for middle management must not contain details. Exceptions should be . printed or displayed to assist in tactical management. 11 Routine outputs such as payslips, address labels, etc., are massive and periodic and are printed on a line printer or character printer depending on the volume to be printed. 12 Every report must have a report heading, page heading, heading for fields, details lines and control information. Pages should be numbered and the date of creation of the report printed at the top of the report. 13 A print chart is used to specify the format of a report. Report headings, page headings, the columns in the printer where they appear in a report are specified by the print chart. 14 Report generator systems are available in languages such as COBOL. These are useful to convert report specifications to printed reports. 15 The layout of information on video display screens is also specified using similar principles. The main difference is the need to instruct a user to select appropriate displays. 16 With current technology Graphical User Interfaces are easy to design. They should be used wherever they are appropriate. 17 Graphical outputs are easy to obtain on video terminals, inkjet and laser printers. Graphs, bar charts, pie charts and maps are easy to draw and should be used as appropriate. 2 QUESTION BANK – MODULE 10 10.1 What is the difference between impact and non-impact printers? example of each type of printer? 10.2 What is the speed range of a line printer? What is the speed range of a character printer? 10.3 For what types of outputs are video display units appropriate? What is the main difference in characteristics between video display units and printers? 10.4 What type of output will you use for the following: (i) (ii) iii. 10.5 10.6 10.7 10.8 Strategic management Tactical management Operational management Give an When is a detailed printed output appropriate? What is the difference between off-line and on-line output presentation? What are the various headings used in a report? Why are they required? What is a print chart? How is it used? Prepare a print chart for stores data processing system. 10.9 10.10 10.11 10.12 Why are control footings used in printed reports? What is a report generator? List the important points to keep in mind while designing the format of a report. What is the main difference between the design of an output screen for a video terminal and the page layout for a printer? 10.13 What do you understand by business graphics? 3 10.14 Pick the appropriate graphics presentation for the following applications: (i) (ii) (iii) (iv) Relative enrollment of students in various departments in a University. Growth of student strength in a department over a period of 10 years. Sales percent of a product in 6 regions of a country. Proportion of total revenue of a state from direct taxes, indirect taxes, public loan, land revenue, income from public sector companies, and miscellaneous receipts. (v) 10.15 Engineering colleges established in different parts of a country. When is colour presentation of graphics useful? Give examples. 4 REFERENCES 1. Most of the material is taken from Chapter 14 of the text book “Analysis and Design of Information Systems” by V.Rajaraman, 2nd Edition, Prentice Hall of India, New Delhi. 2. There is a good coverage of this type in Kendall and Kendall “System Analysis and Design”, Pearson Education Asia, 2003, Chapter 15, pp.478-496. 3. J.A.Hoffer, J.F.George, J.S.Valachich, “Modern Systems Analysis and Design”, 3rd Edition, Pearson Education Asia, New Delhi, 2002, discusses forms and reports design in Chapter 13, pp.432 to 450. Designing dialogues and graphical user interfaces is discussed in Chapter 14, pp. 460 to 490. Companion web site is prenticehall.com/hoffer for multiple choice questions etc. 5 MODULE 11 DOCUMENTS ON WEB OBJECTIVE QUESTIONS There are 4 alternative answers to each question. One of them is correct. Pick the correct answer. Do not guess. A key is given at the end of the module for you to verify your answer LEARNING UNIT 1 11.1.1 Internet is (a) a local computer network (b) a world wide network of computers (c) an interconnected network of computers (d) a world wide interconnected network of computers which use a common protocol to communicate with one another 11.1.2 The facilities available in the internet are (i) electronic mail (ii) remote login (iii) file transfer (iv) word processing (a) i, ii (b) i, ii, iii (c) i, ii, iv (d) ii, iii and iv 11.1.3 Internet requires (a) an international agreement to connect computers (b) a local area network (c) a commonly agreed set of rules to communicate between computers (d) a World Wide Web 11.1.4 Each computer connected to the internet must (a) be an IBM PC (b) have a unique IP address (c) be internet compatible (d) have a modem connection 11.1.5 IP address is currently (a) 4 bytes long (b) available in plenty (c) 6 bytes long (d) not assigned as it is all used up 11.1.6 IP addresses are converted to (a) a binary string (b) alphanumeric string (c) a hierarchy of domain names (d) a hexadecimal string 11.1.7 Internet addresses must always have atleast (i) a country name or organization type (ii) internet service provider’s name (iii) name of organization (iv) name of individual (v) type of organization (a) i, ii, iii (b) ii, iii, iv (c) i, iii (d) ii, iii, iv, v 11.1.8 Internet uses (a) Packet switching (b) Circuit switching (c) Telephone switching (d) Telex switching 11.1.9 Internet data is broken up as (a) fixed length packets (b) variable length packets (c) not packetized (d) 64 bytes packets 11.1.10 Internet packet data structure consists of (i) source address (ii) destination address (iii) serial number of packets (iv) message bytes (v) control bits for error checking (vi) path identification bits (a) i, ii, iii (b) i, ii, iii, iv (c) i, ii, iii, iv, v (d) i, ii, iii, iv, v, vi 11.1.11 The packets of an internet message (a) take a predetermined path (b) take a path based on packet priority (c) go along different paths based on path availability (d) take the shortest path from source to destination 11.1.12 The time taken by internet packets (a) can be predetermined before transmission (b) are same for all packets (c) may be different for different packets (d) is irrelevant for audio packets 11.1.13 By an intranet we mean (a) a LAN of an organization (b) a Wide Area Network connecting all branches of an organization (c) a corporate computer network (d) a network connecting all computers of an organization and using the internet protocol 11.1.14 By an extranet we mean (a) an extra fast computer network (b) the intranets of two co-operating organizations interconnected via a secure leased line (c) an extra network used by an organization for higher reliability (d) an extra connection to internet provided to co-operating organizations 11.1.15 World Wide Web (a) is another name for internet (b) world wide connection for computers (c) a collection of linked information residing on computers connected by the internet (d) a collection of world wide information 11.1.16 Among services available on the World Wide Web are (i) Encryption (ii) HTTP (iii) HTML (iv) Firewalls (a) i and ii (b) ii and iii (c)iii and iv (d) i and iv 11.1.17 A world wide web contains web pages (a) residing in many computers (b) created using HTML (c) with links to other web pages (d) residing in many computers linked together using HTML 11.1.18 A web page is located using a (a) Universal Record Linking (b) Uniform Resource Locator (c) Universal Record Locator (d) Uniformly Reachable Links 11.1.19 A URL specifies the following: (i) protocol used (ii) domain name of server hosting web page (iii) name of folder with required information (iv) name of document formatted using HTML (v) the name of ISP (a) i, ii, iii, iv (b) ii, iii, iv, v (c) i, iii, iv (d) i, ii, iii, v 11.1.20 A search engine is a program to search (a) for information (b) web pages (c) web pages for specified index terms (d) web pages for information using specified search terms ‘ LEARNING UNIT 2 11.2.1 HTML stands for (a) Hyper Text Making Links (b) Hyper Text Markup Language (c) Higher Textual Marking of Links (d) Hyper Text Mixer of Links 11.2.2 HTML is similar to a (a) word processing language (b) screen editor (c) scripting language (d) search engine 11.2.3 Desirable properties of a website are (i) a meaningful address (ii) Help and search facilities (iii) Links to related sites (iv) Features to allow users to give feedback (v) Hosting on a mainframe (a) i, ii, iii (b) i, ii, iii, iv (c) i, ii, iii, iv, v (d) i, ii, iii, v 11.2.4 HTML uses (a) (b) (c) (d) pre-specified tags user defined tags tags only for linking fixed tags defined by the language 11.2.5 HTML tags define (a) (b) (c) (d) The data types of elements of document Presentation of specified elements of a document The contents of the document The structure of the document 11.2.6 The tag used in HTML to link it with other URL’s is: (a) <A> (b) <H> (c) <U> (d) <L> 11.2.7 The tags used for specifying fonts in HTML are (i) (ii) (iii) (iv) <B> <I> <U> <L> (b) (i) and (iii) (d) (i),(ii) and (iii) (a) (i) and (ii) (c) (ii) and (iv) 11.2.8 It is possible to display pictures (i.e, images) in HTML specification by using the tag. (a) (b) (c) (d) <GR src = Picture file> <PIC src =Picture file> <IMG src =Picture file> <GIF src=Picture file> 11.2.9 SGML stands for (a) (b) (c) (d) Standard Generalized Markup Language Structured General Markup Language Standard Graphics Mapping Language Standard General Markup Links 11.2.10 HTML and XML are markup languages (a) (b) (c) (d) Specially development for the web Are based on SGML Are versions of SGML Independent of SGML 11.2.11 XML stands for (a) (b) (c) (d) Extra Markup Language Excellent Markup Links Extended Markup Language Extended Marking Links 11.2.12 XML uses (a) (b) (c) (d) user define tags pre-defined tags both predefined and user-defined tags Extended tags used in HTML and makes them powerful 11.2.13 In order to interpret XML documents one should (a) (b) (c) (d) Use standardized tags Have a document type definition which defines the tags Define the tags separately Specify tag filename 11.2.14 The advantages of XML over HTML are (i) (ii) (iii) (iv) It allows processing of data stored in web-pages It uses meaningful tags which aids in understanding the nature of a document Is simpler than HTML It separates presentation and structure of document (b) (i),(ii) and(iv) (d) (i),(iii) and (iv) (a) (i),(ii) and (iii) (c ) (ii),(iii) and (iv) 11.2.15 XSL definition is used along with XML definition to specify (a) (b) (c) (d) The data types of the contents of XML document The presentation of XML document The links with other documents The structure of XML document 11.2.16 XLL definition is used along with XML to specify (a) (b) (c) (d) The data types of the contents of XML document The presentation of XML document The links with other documents The structure of XML document 11.2.17 DTD definition is used along with XML to specify (a) The data types of the contents of XML document (b) The presentation of XML document (c) The links with other documents (d) The structure of XML document KEY TO OBJECTIVE QUESTIONS 11.1.1 11.1.7 11.1.13 11.1.19 11.2.5 11.2.11 11.2.17 d c d a b c a 11.1.2 11.1.8 11.1.14 11.1.20 11.2.6 11.2.12 b a b d a a 11.1.3 11.1.9 11.1.15 11.2.1 11.2.7 11.2.13 c b c b a b 11.1.4 11.1.10 11.1.16 11.2.2 11.2.8 11.2.14 b 11.1.5 a 11.1.6 c c 11.1.11 c 11.1.12 c b 11.1.17 d 11.1.18 b a 11.2.3 b 11.2.4 d c 11.2.9 a 11.2.10 b b 11.2.15 b 11.2.16 c MODULE 11 DOCUMENTS ON WEB Learning Units 11.1 The internet and the world wide web 11.2 Documents and the world wide web Systems Analysis And Design © V. Rajaraman Learning Goals The basic technology used to build the internet How the world wide web uses the internet How documents are specified using HTML The distinction between presentation and structure of documents How documents are specified in XML Systems Analysis And Design © V. Rajaraman 1 of 35 Motivation We examined in the last module how documents are formatted and printed using a computer. Documents in that context meant results computed by a computer In a more general context one should look at also documents which are to be disseminated via the world wide web. Besides dissemination one should also consider possibility of reading values from documents stored in remote computers and processing them for various purposes The need to exchange documents electronically and processing them have gained importance since the emergence of e-commerce Systems Analysis And Design © V. Rajaraman 2 of 35 Motivation (Contd) To understand the need to distribute documents electronically we should first understand how computers are connected together and communicate in an orderly fashion among themselves Thus we will first examine very briefly the internet and the world wide web which uses the internet infrastructure Systems Analysis And Design © V. Rajaraman 3 of 35 Computer Networks Now-a-days no computer has an isolated existence Computers in an organization are interconnected by local area networks (LAN) Home computers are connected to Public Switched Telephone Network (PSTN) which provide a connection to an Internet Service Provider (ISP) LANs of organizations connected to LANs of other organizations via PSTN using routers 11.1.1 Systems Analysis And Design © V. Rajaraman 4 of 35 Logical Network-internet •Internet is the network of networks and interconnects millions of computers all over the world •Internet is used to exchange electronic mail, exchange files and log into remote computers •Common set of rules used by computers connected to the internet to communicate - called Internet Protocol (IP) •Each computer connected to the internet has a unique address called IP address •IP address is 4 bytes long •IP addresses are a scarce resource 11.1.2 Systems Analysis And Design © V. Rajaraman 5 of 35 Internet-continued • IP address converted to strings of characters which are easy to remember • Group of characters combined as domains • In the address [email protected] in – Top most domain –country code ernet – Internet Service Provider (ISP) in country serc –Department within organization-name assigned by organization rajaram – Name of the user in department – assigned by department • Hierarchy of addressing facilitates expansion 11.1.3 Systems Analysis And Design © V. Rajaraman 6 of 35 Internet -Continued •Internet breaks up messages sent from source to destination into a number of packets •Packet structure : CONTROL BITS FOR CHECKING SERIAL NO OF THE PACKET SOURCE ADDRESS DESTINATION ADDRESS MESSAGE HEADER (20 bytes) PAYLOAD (upto 1KB) •Packets need not be of fixed length. Maximum length of a packet is 1 KB •Message packetised to allow different packets to go along different paths - called packet switching 11.1.4 Systems Analysis And Design © V. Rajaraman 7 of 35 Packet Switching – Advantages And Disadvantages Each packet can pick free (cheapest) path to take Finally packets reassembled using serial no. Packet switching less expensive and adaptive as faulty paths can be avoided Major disadvantage of packet switching is the difficulty in predicting time taken by different packets to travel from source to destination 11.1.5 Systems Analysis And Design © V. Rajaraman 8 of 35 Packet Switching – Advantages And Disadvantages Variable packet delivery time does not matter for e-mail and text files Speed unpredictability however reduces effectiveness of audio and video traffic Major advantage – diverse machines and LAN’s may be interconnected if they use common protocol called TCP/IP 11.1.6 Systems Analysis And Design © V. Rajaraman 9 of 35 Intranet And Extranet A network of computers within an organization using TCP/IP protocol an use all internet facilities such as e-mail, file transfer, remote login etc –called an intranet or corporate intranet Two corporate intranets may be interconnected using a leased line from PSTN – such a network is called an extranet Extranet between cooperating organizations can provide internet services such as e-mail,file transfer among them 11.1.7 Systems Analysis And Design © V. Rajaraman 10 of 35 World Wide Web Services • World Wide Web (WWW) is a world wide multimedia information service available on the internet • www contains web pages – created using a language called HTML (Hyper Text Markup Language) • HTML has features to embed links within web pages to point to other pages – we can thus navigate through links and search for required information 11.1.8 Systems Analysis And Design © V. Rajaraman 11 of 35 World Wide Web • Web page located using a scheme known as Uniform Resource Locator(URL) Example of URL http://www.freesoft.org/connected/index.html Domain name Of server Having web page Folder with Required information Required document formatted Using hypertext markup language Protocol used • Web browsers is a program on one’s PC used to search for required information 11.1.9 Systems Analysis And Design © V. Rajaraman 12 of 35 Search Engines •Browsers use search engines - that is programs which will navigate web pages using links •Navigation based on search terms given by user •All organizations now maintain web pages t o establish their "web presence" •Web presence important to publicize organization for primarily advertising their services 11.1.10 Systems Analysis And Design © V. Rajaraman 13 of 35 What Is A Document? A document has three parts 1. CONTENT: The string of characters normally coded in ASCII or UNICODE - A document now-a-days also includes, besides text, pictures, audio and video-all bit strings when digitized. - We will however be primarily concerned with textual data in this module. 2. PRESENTATION: How the data looks like to a human userpresentation may be on a video screen or on paper. 3. STRUCTURE: Helps interpretation of data by a computer Information such as type of data (Numeric, Alphanumeric) and its nature, for example an invoice, a purchase order, a recipe etc. 11.2.1 Systems Analysis And Design © V. Rajaraman 14 of 35 How Are Documents Processed By Computers Text processors add special annotations primarily to help format the resulting print outs Examples are: Paragraphing, Font selection, Placing titles, pagination,Tabulation etc. Examples: WORD, TEX etc. These are primarily presentation aids which take raw content and transform them to neat looking documents when displayed on VDU screen or printed on paper. They have no idea of the type of document and what they mean. 11.2.2 Systems Analysis And Design © V. Rajaraman 15 of 35 Text Processing By Computers Word processors primarily used for applications such as -Preparation of manuals -Preparation of catalogues -Routine office correspondence -Desk top publishing Report Generators (Discussed in Module10) are special variety which use a special language to generate and format reports. These are primarily for linear texts and not meant for linked text known as hypertext 11.2.3 Systems Analysis And Design © V. Rajaraman 16 of 35 Documents On World Wide Web In the world wide web documents located in many computers are linked Each document called a web page. Each web page has a unique path to retrieve it. Documents to be used in web pages need special annotations or markups mainly for formatting and for linking them to other documents in the web These annotations are called MARKUPS. 11.2.4 Systems Analysis And Design © V. Rajaraman 17 of 35 Documents On World Wide Web As documents on the world wide web are linked to many documents they are called hypertext. The markup used to link documents called Hyperlink. Web pages are retrieved from the host computers where they are located by a program called web browser running on a client. Clients use a communication protocol called Hyper Text Transfer Protocol (HTTP) to retrieve web pages HTTP recognizes a language called Hyper Text Markup Language (HTML) 11.2.5 Systems Analysis And Design © V. Rajaraman 18 of 35 Hyper Text Markup Language An HTML Document has the following general layout <HTML Version =“4.0”> {Version optional} <HEAD> <!….The headings and their tags are placed here….> </HEAD> <BODY> <!….Elements such as text with formatting tags,links,tables,images etc go here……> </BODY> </HTML> ( ! Is symbol used for comments) 11.2.6 Systems Analysis And Design © V. Rajaraman 19 of 35 Example Of An Html Documents <HTML> <HEAD> <TITLE> Description of a book on Information Technology </TITLE> </HEAD> <BODY> <H1> Introduction o Information technology </H1> <H2> A first level book in I.T </H2> <P> Publisher : <I> Prentice – Hall of India </I></P> <P> Year of publication: <B> 2003 </B></P> </BODY> </HTML> 11.2.7 Systems Analysis And Design © V. Rajaraman 20 of 35 Display Of Html Document When the document is viewed using a browser it will appear as shown below Introduction to Information technology A first level book in I.T Publisher : Prentice – Hall of India Year of publication: 2003 11.2.8 Systems Analysis And Design © V. Rajaraman 21 of 35 Explanation Of Tags In Html <HTML> tells it is an HTML document End of HTML documents is indicated by </HTML> <HTML version = “4.0” > version optional <TITLE> used to identify the document in the browsers title bar and is stored as the bookmark of this document <H1>,<H2> indicate headings. <H1> to <H6> available H1 highest size bold face and H6 lowest <P> indicates paragraphing <I> Italics and <B> bold face font <Observe all tags in this example here has end tag indicated by </tag> Stand alone tags are also there in HTML. Systems Analysis And Design 11.2.9 © V. Rajaraman 22 of 35 Linking Documents HTML can link to documents in other files.For Example to link an image we use : <IMG src = “mypicture.gif”> IMG indicates image and src the source (Observe the tag IMG is standalone and does not have end tag </IMG> HTML has feature to list items with serial number or bullets HTML can also display tables and forms HTML is as rich as some word processors. 11.2.10 Systems Analysis And Design © V. Rajaraman 23 of 35 Hyperlinking Html Documents HTML allows a web page to refer to other web pages When a reference link in the page is clicked the browser switches to the referenced site. The specification is <A href = “ http:// www.iisc.ernet.in”></A> where A is called anchor tag. Linking can also be to other files . Automatic conversion of word documents to HTML is possible using a tool 11.2.11 Systems Analysis And Design © V. Rajaraman 24 of 35 Shortcomings Of Html HTML is the earliest markup language which made it possible to retrieve documents stored in the world wide web HTML is primarily to facilitate presentation of contents of a web page. HTML does not have any means of specifying what the documents represents. Is it an invoice? A purchase order, book description etc. It also has no means of specifying the type of data to allow manipulation of data by browser. We thus need a markup language which is richer and is more descriptive of structure of a document and what it represents 11.2.12 Systems Analysis And Design © V. Rajaraman 25 of 35 EXtensible Markup Language A document has CONTENT, it has a STRUCTURE and it needs to be PRESENTED for ease of reading Word processors and HTML emphasize presentation of content and have no means of specifying structure (or what the data actually represents) XML is a new markup language which is capable of specifying what a document really represents XML is a proper subset of an international standard known as STANDARD GENERALISED MARKUP LANGUAGE (SGML).It is open standard and not proprietary 11.2.13 Systems Analysis And Design © V. Rajaraman 26 of 35 Parts Of XML System XML defines the structure of a document Unlike HTML it has tags which are user defined.This allows easy understanding of the nature of the document and assists in its processing. Formatting and presentation are not part of XML unlike HTML which has tags for bold face,italics etc.This is delegated to a companion language called XSL (Extensible Style Language) Linking documents to create hypertext is also not integrated in XML unlike HTML where tag <A> is a general purpose linking tag. Much more powerful linking is enabled by separating it to a companion language called XLL (Extensible Link Language). 11.2.14 Systems Analysis And Design © V. Rajaraman 27 of 35 Example Of XML Document • A purchase order is represented in XML as below < purchase_order > < order_no > B55567 </order_no> < date> < year > 2004 </year> < month > 10 </month> < day > 9 </day> </date> <purchaser> <name> ABC Traders </name> <address> <street> 201 MG Road </street> <city> Bangalore </city> <pin_code> 560001 </pin_code> </address> </purchaser> 11.2.15 Systems Analysis And Design © V. Rajaraman 28 of 35 Example Of XML Document (Contd) <item> <item_name> C Programming </item_name> <item_code> ISBN 81-203-0859-X </item_code> <quantity> 50 </quantity> </item> <supplier> <name> P-H India </name> </supplier> </purchase_order> 11.2.16 Systems Analysis And Design © V. Rajaraman 29 of 35 Example Of XML Document Observe that the tags used have a syntax similar to HTML. The tags are, however, meaningful to a human reader The XML definition clearly brings out the structure of an invoice. However to interpret such a document and process it by a computer a companion document called Document Type Definition (DTD) is needed. DTD has its own syntax . We give DTD for this XML document in the next transparency. 11.2.17 Systems Analysis And Design © V. Rajaraman 30 of 35 Document Type Definition (DTD) DTD of XML document of 11.2.15 is given below DTD Statements <! ELEMENT purchase order (entry +) > <! ELEMENT order_no (#PC DATA) > <! ELEMENT date (year, month ,day) <! ELEMENT year (#PC DATA)> <! ELEMENT month(#PC DATA)> <! ELEMENT day (#PC DATA)> <! ELEMENT purchaser (name,address)> <! ELEMENT name (#PC DATA)> <! ELEMENT address (street,city,pin-code)> <! ELEMENT street (#PC DATA)> <! ELEMENT city (#PC DATA)> <! ELEMENT pin-code (#PC DATA)> <! ELEMENT item (item_name,item_code,quantity)> <! ELEMENT item_name (#PC DATA)> <! ELEMENT item_code (#PC DATA)> <! ELEMENT quantity (#PC DATA)> <! ELEMENT supplier (name)> <! ELEMENT name(#PC DATA)> 11.2.18 Systems Analysis And Design © V. Rajaraman 31 of 35 Explanation Of Document Type Definition Each statement in DTD declares the elements of XML program <! ELEMENT purchase order (entry +) > states that purchase order is the top level element with one or more entry following it 2 statements are introduced at the start of XML definition which specifies the version of XML and the file name of DTD specification Assuming DTD is in a file purchase_order.dtd the declarations are <? XML Version =“1.0”> <! DOCTYPE purchase_order SYSTEM “purchase order.dtd”> The tags used in XML definition are then specified. 11.2.19 Systems Analysis And Design © V. Rajaraman 32 of 35 Explanation Of Document Type Definition <! ELEMENT order_no (#PC DATA) specifies that the tag order_no is a string of characters. <! ELEMENT date (year,month,day) specifies that the tag date is a higher level tag which consists of three tags- year, month and day. The description of each of the next level tags follow, for example: <! ELEMENT year (#PC DATA) declares year as a string of characters. The rest of DTD is self explanatory 11.2.20 Systems Analysis And Design © V. Rajaraman 33 of 35 Some Application Of XML XML’s main use is in creating documents for the World Wide Web which can be retrieved by browsers at client computers. User defined tags give several advantages including use in - Push Technology – In this application time varying data specified by users e.g. Hourly stock prices of specified shares are automatically sent to the client’s browser - Online banking – A standard XML format known as financial exchange initiative is used to obtain information such as bank statements. 11.2.21 Systems Analysis And Design © V. Rajaraman 34 of 35 Some Application Of XML Software and database updates XML adaptable to many natural languages such as Kannada as it uses Unicode standard. Use in Scientific Publications – Markup languages based on XML have been developed for chemistry – CML (Chemistry Markup Language) and MML (Mathematical Markup Language) 11.2.22 Systems Analysis And Design © V. Rajaraman 35 of 35 MODULE 11 DOCUMENTS ON WEB OBJECTIVE QUESTIONS There are 4 alternative answers to each question. One of them is correct. Pick the correct answer. Do not guess. A key is given at the end of the module for you to verify your answer LEARNING UNIT 1 11.1.1 Internet is (a) a local computer network (b) a world wide network of computers (c) an interconnected network of computers (d) a world wide interconnected network of computers which use a common protocol to communicate with one another 11.1.2 The facilities available in the internet are (i) electronic mail (ii) remote login (iii) file transfer (iv) word processing (a) i, ii (b) i, ii, iii (c) i, ii, iv (d) ii, iii and iv 11.1.3 Internet requires (a) an international agreement to connect computers (b) a local area network (c) a commonly agreed set of rules to communicate between computers (d) a World Wide Web 11.1.4 Each computer connected to the internet must (a) be an IBM PC (b) have a unique IP address (c) be internet compatible (d) have a modem connection 11.1.5 IP address is currently (a) 4 bytes long (b) available in plenty (c) 6 bytes long (d) not assigned as it is all used up 11.1.6 IP addresses are converted to (a) a binary string (b) alphanumeric string (c) a hierarchy of domain names (d) a hexadecimal string 11.1.7 Internet addresses must always have atleast (i) a country name or organization type (ii) internet service provider’s name (iii) name of organization (iv) name of individual (v) type of organization (a) i, ii, iii (b) ii, iii, iv (c) i, iii (d) ii, iii, iv, v 11.1.8 Internet uses (a) Packet switching (b) Circuit switching (c) Telephone switching (d) Telex switching 11.1.9 Internet data is broken up as (a) fixed length packets (b) variable length packets (c) not packetized (d) 64 bytes packets 11.1.10 Internet packet data structure consists of (i) source address (ii) destination address (iii) serial number of packets (iv) message bytes (v) control bits for error checking (vi) path identification bits (a) i, ii, iii (b) i, ii, iii, iv (c) i, ii, iii, iv, v (d) i, ii, iii, iv, v, vi 11.1.11 The packets of an internet message (a) take a predetermined path (b) take a path based on packet priority (c) go along different paths based on path availability (d) take the shortest path from source to destination 11.1.12 The time taken by internet packets (a) can be predetermined before transmission (b) are same for all packets (c) may be different for different packets (d) is irrelevant for audio packets 11.1.13 By an intranet we mean (a) a LAN of an organization (b) a Wide Area Network connecting all branches of an organization (c) a corporate computer network (d) a network connecting all computers of an organization and using the internet protocol 11.1.14 By an extranet we mean (a) an extra fast computer network (b) the intranets of two co-operating organizations interconnected via a secure leased line (c) an extra network used by an organization for higher reliability (d) an extra connection to internet provided to co-operating organizations 11.1.15 World Wide Web (a) is another name for internet (b) world wide connection for computers (c) a collection of linked information residing on computers connected by the internet (d) a collection of world wide information 11.1.16 Among services available on the World Wide Web are (i) Encryption (ii) HTTP (iii) HTML (iv) Firewalls (a) i and ii (b) ii and iii (c)iii and iv (d) i and iv 11.1.17 A world wide web contains web pages (a) residing in many computers (b) created using HTML (c) with links to other web pages (d) residing in many computers linked together using HTML 11.1.18 A web page is located using a (a) Universal Record Linking (b) Uniform Resource Locator (c) Universal Record Locator (d) Uniformly Reachable Links 11.1.19 A URL specifies the following: (i) protocol used (ii) domain name of server hosting web page (iii) name of folder with required information (iv) name of document formatted using HTML (v) the name of ISP (a) i, ii, iii, iv (b) ii, iii, iv, v (c) i, iii, iv (d) i, ii, iii, v 11.1.20 A search engine is a program to search (a) for information (b) web pages (c) web pages for specified index terms (d) web pages for information using specified search terms ‘ LEARNING UNIT 2 11.2.1 HTML stands for (a) Hyper Text Making Links (b) Hyper Text Markup Language (c) Higher Textual Marking of Links (d) Hyper Text Mixer of Links 11.2.2 HTML is similar to a (a) word processing language (b) screen editor (c) scripting language (d) search engine 11.2.3 Desirable properties of a website are (i) a meaningful address (ii) Help and search facilities (iii) Links to related sites (iv) Features to allow users to give feedback (v) Hosting on a mainframe (a) i, ii, iii (b) i, ii, iii, iv (c) i, ii, iii, iv, v (d) i, ii, iii, v 11.2.4 HTML uses (a) (b) (c) (d) pre-specified tags user defined tags tags only for linking fixed tags defined by the language 11.2.5 HTML tags define (a) (b) (c) (d) The data types of elements of document Presentation of specified elements of a document The contents of the document The structure of the document 11.2.6 The tag used in HTML to link it with other URL’s is: (a) <A> (b) <H> (c) <U> (d) <L> 11.2.7 The tags used for specifying fonts in HTML are (i) (ii) (iii) (iv) <B> <I> <U> <L> (b) (i) and (iii) (d) (i),(ii) and (iii) (a) (i) and (ii) (c) (ii) and (iv) 11.2.8 It is possible to display pictures (i.e, images) in HTML specification by using the tag. (a) (b) (c) (d) <GR src = Picture file> <PIC src =Picture file> <IMG src =Picture file> <GIF src=Picture file> 11.2.9 SGML stands for (a) (b) (c) (d) Standard Generalized Markup Language Structured General Markup Language Standard Graphics Mapping Language Standard General Markup Links 11.2.10 HTML and XML are markup languages (a) (b) (c) (d) Specially development for the web Are based on SGML Are versions of SGML Independent of SGML 11.2.11 XML stands for (a) (b) (c) (d) Extra Markup Language Excellent Markup Links Extended Markup Language Extended Marking Links 11.2.12 XML uses (a) (b) (c) (d) user define tags pre-defined tags both predefined and user-defined tags Extended tags used in HTML and makes them powerful 11.2.13 In order to interpret XML documents one should (a) (b) (c) (d) Use standardized tags Have a document type definition which defines the tags Define the tags separately Specify tag filename 11.2.14 The advantages of XML over HTML are (i) (ii) (iii) (iv) It allows processing of data stored in web-pages It uses meaningful tags which aids in understanding the nature of a document Is simpler than HTML It separates presentation and structure of document (b) (i),(ii) and(iv) (d) (i),(iii) and (iv) (a) (i),(ii) and (iii) (c ) (ii),(iii) and (iv) 11.2.15 XSL definition is used along with XML definition to specify (a) (b) (c) (d) The data types of the contents of XML document The presentation of XML document The links with other documents The structure of XML document 11.2.16 XLL definition is used along with XML to specify (a) (b) (c) (d) The data types of the contents of XML document The presentation of XML document The links with other documents The structure of XML document 11.2.17 DTD definition is used along with XML to specify (a) The data types of the contents of XML document (b) The presentation of XML document (c) The links with other documents (d) The structure of XML document KEY TO OBJECTIVE QUESTIONS 11.1.1 11.1.7 11.1.13 11.1.19 11.2.5 11.2.11 11.2.17 d c d a b c a 11.1.2 11.1.8 11.1.14 11.1.20 11.2.6 11.2.12 b a b d a a 11.1.3 11.1.9 11.1.15 11.2.1 11.2.7 11.2.13 c b c b a b 11.1.4 11.1.10 11.1.16 11.2.2 11.2.8 11.2.14 b 11.1.5 a 11.1.6 c c 11.1.11 c 11.1.12 c b 11.1.17 d 11.1.18 b a 11.2.3 b 11.2.4 d c 11.2.9 a 11.2.10 b b 11.2.15 b 11.2.16 c System Analysis and Design/Documents On Web Multiple Choice Questions 11.1 Internet is a. a local computer network b. a world wide network of computers c. an interconnected network of computers d. a world wide interconnected network of computers which use a common protocol to communicate with one another 11.2 The facilities available in the internet are (i) electronic mail (ii) remote login (iii)file transfer (iv)word processing a. i, ii b. i, ii, iii c. i, ii, iv d. ii, iii and iv 11.3 Internet requires a. an international agreement to connect computers b. a local area network c. a commonly agreed set of rules to communicate between computers d. a World Wide Web 11.4 Each computer connected to the internet must a. be an IBM PC b. have a unique IP address c. be internet compatible d. have a modem connection 11.5 IP address is currently a. 4 bytes long V. Rajaraman/IISc. Bangalore M11/V1/July 04/1 System Analysis and Design/Documents On Web Multiple Choice Questions b. available in plenty c. 6 bytes long d. not assigned as it is all used up 11.6 IP addresses are converted to a. a binary string b. alphanumeric string c. a hierarchy of domain names d. a hexadecimal string 11.7 Internet addresses must always have at least (i) a country name or organization type (ii) internet service provider’s name (iii) name of organization (iv) name of individual (v) type of organization a. i, ii, iii b. ii, iii, iv c. i, iii d. ii, iii, iv, v 11.8 Internet uses a. Packet switching b. Circuit switching c. Telephone switching d. Telex switching 11.9 Internet data is broken up as a. fixed length packets b. variable length packets c. not packetized V. Rajaraman/IISc. Bangalore M11/V1/July 04/2 System Analysis and Design/Documents On Web Multiple Choice Questions d. 64 bytes packets 11.10 Internet packet data structure consists of (i)source address (ii) destination address (iii)serial number of packets (iv)message bytes (v)Control bits for error checking (vi) Path identification bits a. i, ii, iii b. i, ii, iii, iv c. i, ii, iii, iv, v d. i, ii, iii, iv, v, vi 11.11 The packets of an internet message a. take a predetermined path b. take a path based on packet priority c. go along different paths based on path availability d. take the shortest path from source to destination 11.12 The time taken by internet packets a. can be predetermined before transmission b. may be different for different packets c. is irrelevant for audio packets 11.13 By an intranet we mean a. a LAN of an organization b. a Wide Area Network connecting all branches of an organization c. a corporate computer network d. a network connecting all computers of an organization and using the internet protocol V. Rajaraman/IISc. Bangalore M11/V1/July 04/3 System Analysis and Design/Documents On Web Multiple Choice Questions 11.14 By an extranet we mean a. an extra fast computer network b. the intranets of two co-operating organizations interconnected via a secure leased line c. an extra network used by an organization for higher reliability d. an extra connection to internet provided to co-operating organizati 11.15 World Wide Web a. is another name for internet b. world wide connection for computers c. a collection of linked information residing on computers connected by the internet d. a collection of world wide information 11.16 Among services available on the World Wide Web are (i)Encryption (ii)HTTP (iii)HTML (iv)Firewalls a. i and ii b. ii and iii c. iii and iv d. i and iv 11.17 A world wide web contains web pages a. residing in many computers b. created using HTML c. with links to other web pages d. residing in many computers linked together using HTML 11.18 A web page is located using a V. Rajaraman/IISc. Bangalore M11/V1/July 04/4 System Analysis and Design/Documents On Web Multiple Choice Questions a. Universal Record Linking b. Uniform Resource Locator c. Universal Record Locator d. Uniformly Reachable Links 11.19 A URL specifies the following: (i) protocol used (ii) domain name of server hosting web page (iii) name of folder with required information (iv) name of document formatted using HTML (v) the name of ISP a. i, ii, iii, iv b. ii, iii, iv, v c. i, iii, iv d. i, ii, iii, v 11.20 A search engine is a program to search a. for information b. web pages c. web pages for specified index terms d. web pages for information using specified search terms 11.21 HTML stands for a. Hyper Text Making Links b. Hyper Text Markup Language c. Higher Textual Marking of Links d. Hyper Text Mixer of Links 11.22 HTML is similar to a a. word processing language b. screen editor V. Rajaraman/IISc. Bangalore M11/V1/July 04/5 System Analysis and Design/Documents On Web Multiple Choice Questions c. scripting language d. search engine 11.23 Desirable properties of a website are (i)a meaningful address (ii)Help and search facilities (iii) Links to related sites (iv)Features to allow users to give feedback (v)Hosting on a mainframe a. i, ii, iii b. i, ii, iii, iv c. i, ii, iii, iv, v d. i, ii, iii, v 11.24 HTML uses a. pre-specified tags b. user defined tags c. tags only for linking d. fixed tags defined by the language 11.25 HTML tags define a. The data types of elements of document b. Presentation of specified elements of a document c. The contents of the document d. The structure of the document 11.26 The tag used in HTML to link it with other URL’s is: a. <A> b. <H> c. <U> d. <L> V. Rajaraman/IISc. Bangalore M11/V1/July 04/6 System Analysis and Design/Documents On Web Multiple Choice Questions 11.27 The tags used for specifying fonts in HTML are (i) <B> (ii) <I> (iii) <U> (iv) <L> a. (i) and (ii) b. (i) and (iii) c. (ii) and (iv) d. (i),(ii) and (iii) 11.28 It is possible to display pictures (i.e, images) in HTML specification by using the tag. a. <GR src = Picture file> b. <PIC src =Picture file> c. <IMG src =Picture file> d. <GIF src=Picture file 11.29 SGML stands for a. Standard Generalized Markup Language b. Structured General Markup Language c. Standard Graphics Mapping Language d. Standard General Markup Link 11.30 HTML and XML are markup languages a. Specially development for the web b. Are based on SGML c. Are versions of SGML V. Rajaraman/IISc. Bangalore M11/V1/July 04/7 System Analysis and Design/Documents On Web Multiple Choice Questions d. Independent of SGML 11.31 XML stands for a. Extra Markup Language b. Excellent Markup Links c. Extended Markup Language d. Extended Marking Links 11.32 XML uses a. user define tags b. pre-defined tags c. both predefined and user-defined tags d. Extended tags used in HTML and makes them powerful 11.33 In order to interpret XML documents one should a. Use standardized tags b. Have a document type definition which defines the tags c. Define the tags separately d. Specify tag filename 11.34 The advantages of XML over HTML are (i) It allows processing of data stored in web-pages (ii) It uses meaningful tags which aids in understanding the nature of a document (iii)Is simpler than HTML (iv)It separates presentation and structure of document a. (i),(ii) and (iii) b. (i),(ii) and(iv) c. (ii),(iii) and (iv) d. (i),(iii) and (iv) 11.35 XSL definition is used along with XML definition to specify V. Rajaraman/IISc. Bangalore M11/V1/July 04/8 System Analysis and Design/Documents On Web Multiple Choice Questions a. The data types of the contents of XML document b. The presentation of XML document c. The links with other documents d. The structure of XML document 11.36 XLL definition is used along with XML to specify a. The data types of the contents of XML document b. The presentation of XML document c. The links with other documents d. The structure of XML document 11.37 DTD definition is used along with XML to specify a. The data types of the contents of XML document b. The presentation of XML document c. The links with other documents d. The structure of XML document V. Rajaraman/IISc. Bangalore M11/V1/July 04/9 System Analysis and Design/Documents On Web Multiple Choice Questions Key to Objective Questions 11.1 11.7 d c 11.2 11.8 11.14 b a b 11.3 11.9 11.15 c 11.21 11.27 11.33 b b a c b 11.4 b 11.5 11.11 c 11.17 a c 11.23 11.29 d a 11.6 c 11.10 c 11.16 b 11.22 11.28 11.12 c 11.18 b b 11.24 a d 11.13 d 11.19 a 11.25 11.31 c 11.37 a b 11.20 d 11.26 11.32 a a 11.30 b c 11.34 b 11.35 b 11.36 V. Rajaraman/IISc. Bangalore M11/V1/July 04/10 MODULE 11 DOCUMENTS ON WEB WORKED EXAMPLES 11.1 What do you understand by an IP address? How is an IP address represented numerically? An IP address is an unique address required by a computer interface to access the internet. Presently an IP address is a 4 byte address and is expressed in what is known as the dotted decimal format like 144.16.68.201. What is a domain name? How are e-mail addresses assigned? Since IP addresses are represented numerically which is difficult to remember, these addresses are converted into a string of characters for ease of remembering. These addresses are grouped into domains. On the Internet, a domain consists of a set of network addresses. This domain is organized in levels. The top level identifies geographic location or purpose commonality (for example, .in for India, .com for commerce and .edu for education). The second level identifies a unique place within the top level domain and is, in fact, equivalent to a unique address on the Internet (or IP). Lower levels of domain may also be used. Domain addresses are assigned by an international authority known as Internet Corporation for Assigned Names and Numbers (ICANN). What is packet switching? What are the advantages of packet switching? Why is packet switching used in internet communication? Packet switching is the technique in which data are transmitted through communication links as a set of packets. A message is broken into a number of packets. The packets are stored in routers along the path and forwarded to other routers when communication link is free. Here the message is broken into packets to reduce the transmission cost. The transmission is faster and fault-tolerant, in the sense that if a line is not working or free the stored packets can be sent along another line. What is extranet? Give an example of an extranet An Extranet is private connection of intranets and leased lines from public telecommunication system to share part of business’s information or operations with suppliers, vendors, partners, customers, or other businesses. We can call it as a “private internet” Companies can use extranet to: 11.2 11.3 11.4 (a) Exchange large volumes of data using Electronic data Interchange(EDI) (b) Share product catalogs exclusively with wholesalers or those “in the trade” (c) Collaborate with other companies on joint development efforts (d) Jointly develop and use training programs with other companies An example of extranet is one which connects an automobile manufacturer with supplies of ancilliaries such as batteries, tyres, brakes etc. Another example is banknet connecting banks. 11.6 What is the world wide web? In what way is it different from internet? The world wide web is the global multimedia information service available on the internet. It consists of linked web pages. The internet helps in facilitating the functionality of www. Internet is a physical network of computers where www is a service provided using the internet. What is the role of HTML in web page design? Give a HTML code to display Introduction to e-Commerce This is a new book HTML has features to embed with web pages pointing to other web pages. It has features for adding images, different colors etc. and also you can develop a very good and attractive web page to attract customers which is the basic need of eCommerce. The html code to display the information is given below: <html> <head> </head> <body> <h1>Introduction to e-Commerce</h1> <p> This is a <b> new book </b> </p> </body> <html> 11.8 What is a URL? Explain the various parts of an URL? A URL stands for Uniform Resource Locator. A URL is the address of a (resource) accessible on the Internet. The type of resource depends on the Internet application protocol. In the URL http://www.entertainment.msn.com/movie.html the http stands for protocol to be used i.e., here hyper text transfer protocol. The www.msn.com preceded by:// is the address (called domain name) of computer, which is permanently connected to the internet. The entertainment is one directory. Under entertainment directory the file for information on movie is movie.html. The protocol can be http, ftp (file transfer protocol). The com stands for commercial organization. 11.7 Similarly there are different domains like edu, net etc., which are universally agreed as of specific type. 11.9 What is a hyperlink? How do you link an image file to a HTML document? An image or portion of text on a Web page that is linked to another Web page, either on the same site or in another Web site is an Hyperlink. Clicking on the link will take the user to another Web page, or to another place on the same page. The specification for linking an image file to a HTML document is <A href = “image file name”>< /A> where <A> is called the anchor tag. 11.10 What is XML? In what way is it superior to HTML? XML or Extended Markup Language a subset of a SGML (Standard Generalized Markup Language), is a new markup language that is capable of specifying what a document really represents, unlike HTML which emphasizes on presentation of the content and no means of specifying structure. XML uses tags which are user defined, while HTML uses tags which are predefined by the language. Formatting and presentation are not part of XML unlike HTML which has tags for bold face, italics etc. This is delegated to a companion language called XSL (Extensible Style Language) Linking documents to create hypertext is also not integrated in XML unlike HTML where tag <A> is a general purpose linking tag. Much more powerful linking is enabled by separating it to a companion language called XLL (Extensible Link Language). 11.11 What language do you use to format XML documents? Formatting is not a part of XML. This is delegated to a companion language called XSL (Extensible style language) System Analysis and Design/Documents On Web Question Bank Question Bank 11.1 11.2 11.3 11.4 11.5 What is the difference between on-line and off-line data entry? Why are input data records divided into batches for off-line data entry? What is the purpose of a data validation program? What are the main principles used in designing forms for data entry? A good and a bad design for entering date in a form is given in Section 11.1. What are the reasons for saying that one of them is good and the other bad? 11.6 Design a form to be used by a salesman to report to the office about the sales executed by him at different customer locations. 11.7 11.8 Why are data fields coded in an information system? Can the name of a person be used as a code, for say, his bank account? If not, why? 11.9 11.10 11.11 11.12 11.13 11.14 11.15 11.16 What are the requirements of a good coding scheme? Is a concise code comprehensive? If not, why? Is a meaningful code necessarily comprehensive? Is a comprehensive code necessarily meaningful? Is a precise code necessarily concise? What is the advantage of a serial number code? Why is it not normally used? What is the main advantage of block codes? Design a group classification code to code (i) motor vehicles,, (ii) music cassettes, and (iii) books 11.17 11.18 Is a group classification code meaningful? Give an example of a significant code. Are significant codes expandable? V. Rajaraman/IISc. Bangalore M11/V1/July 04/1 System Analysis and Design/Documents On Web Question Bank 11.19 Add a Modulus-11 check digit to the codes (i) 48467, (ii) 96432, and (iii) 87646257. 11.20 Modulus-37 check is suitable for alphanumeric codes. Add a modulus-37 character to the codes (i) 4AB9W, (ii) XBY483, and (iii) CAZ4642. 11.21 The following code was entered by an operator:449632. The last digit is a modulus-11 check digit. Is this code correct? 11.22 If a code uses hexadecimal digits, what should be N if the modulus-N check digit system is to be used with such codes? What are the allowable weights if single transcription and transposition errors are to be detected? 11.23 If modulus-11 check digit system is to generate detection of multiple identical digit transcription error (i.e., a code such as 45565 is wrongly entered as 48868), what should be the constraints on the weights? 11.24 A see-saw error is one in which one digit of the code is increased by x and another decreased by x. For example, 486732 becoming 456762. When can modulus N check detect such errors? 11.25 Why is it useful to assign sequence numbers for data records? What are the types of errors detected by sequence numbering? 11.26 What is the purpose of batch control record? What is the type of information contained in a batch control record? 11.27 A set of data records for student examination results has the following format: Roll no. Name Marks (out of 100) Paper 1 Paper 2 Paper 3 Paper 4 Design for these records a batch control record and a record control field and any V. Rajaraman/IISc. Bangalore M11/V1/July 04/2 System Analysis and Design/Documents On Web Question Bank other appropriate checks for the fields. 11.28 11.29 11.30 Give some example of fields for which a radix error check is appropriate. What is the difference between range check and a radix check? What are the appropriate range checks for the age of individuals in an employee file, a high school student file, and height of students in a student file. 11.31 11.32 11.33 Give some examples of fields where reasonableness check would be applicable. Give some examples of inter-field relationship checks. What is the main difference between menus, templates and command modes of interactive data entry? When is each of these modes appropriate? 11.34 11.35 Design a dialogue hierarchy for entering data on customers (of a manufacturer). Design a dialogue hierarchy and the screens for a system used to reserve seats in long distance buses. V. Rajaraman/IISc. Bangalore M11/V1/July 04/3 System Analysis and Design/Documents On Web Pointers References 1. Most traditional books on Systems Analysis and Design do not discuss HTML and XML and documents on the web. 2. HTML is discussed in Wall D.A., using world wide web, 2nd edition, Prentice Hall of India, New Delhi, 1996. 3. Detailed Presentation of XML may be found in the book by Sean McGrath, “XML by Example”, Prentice Hall, Inc., N.J., U.S.A., 1998. 4. D.Box, A.Skonnard and J……, “Essential XML”, Pearson Education Asia, New Delhi 2000. 5. Using HTML.4, XML and JAVA 1.2, Eric Ladd et.al , Prentice Hall of India, New Delhi, 1999. 6. HTML 4.0 specifications may be found in http://www/w3.org/TR/html40 V. Rajaraman/IISc. Bangalore M11/V1/July 04/1 SUMMARY of Module 12 1. Data may be input to a computer off-line or on-line. In on-line entry a user enters data interactively via a video terminal connected to the computer. In off-line data entry data filled in forms are entered by operators in a separate PC or a data entry machine. 2. 3. Off-line data entry is suitable if the number of records is very large. In off-line data entry, batches of data are formed and entered. They are checked by a validation program and the corrected records are stored in a file. 4. To reduce errors in input, it is essential to carefully design the forms used for entering data. 5. Important data elements are coded. Codes are necessary for unique identification, easily cross-referencing and efficient storage and retrieval. 6. There are many methods for coding. An ideal code must be concise, expandable, meaningful, comprehensive and precise. It is not possible to incorporate all these ideal features in a code. 7. Codes are classified as: (i) Serial number codes, (ii) Block codes, (iii) Group classification codes, and (iv) Significant codes. Group classification codes and Significant codes are most meaningful, expandable, precise and comprehensive. They are, however, not concise, Serial and Block number codes are more concise. They are also precise and expandable but are not meaningful and comprehensive. 8. Any error made in entering important data fields such as account codes and identification codes must be detected during data entry. 9. The most common errors made during data entry are: a single digit is incorrectly entered or any two digits in the code are interchanged. These errors are called respectively single transcription and transposition errors and account for 96% of all data entry errors. 10. Given a code, the digits in it starting from the last digit are multiplied by weights 2, 3, 4, etc., and the products are added. The sum is divided by 11. The remainder is subtracted from 11. This number (which is called a check digit) is appended as the last digit of the code. The code constructed in this way is called a midulus-11 check digit code. 11. After data entry the digits in the code starting from the last digit are multiplied by weights 1, 2, 3, 4, etc., and the products are added. The sum is divided by 11. If the remainder is not zero then there is an error in the code. 12. Modulus-11 check digit code guarantees detection of all single transcription and transposition errors. It also detects 95% of all other errors. 13. It is essential to design good data validation programs to prevent data entry errors from corrupting files of input data. Validation programs need information for detecting errors. This information is provided by controls exercised during data preparation. 14. Important control mechanisms are; giving unique sequence numbers to each data record, providing a batch control record containing a count of number of records and a total of one of the fields.. 15. The same data is entered by two different persons and compared to reduce transcription errors. 16. Besides this, individual data fields are checked using information on their range of allowed values, range of reasonable values, and relationships between different fields. Batch control provides information to detect incorrect values entered, missing records, and data in the wrong sequence. 17. With the advent of Personal Computers, remote terminals connected to a computer and local computer networks, considerable amount of data is entered in files interactively. 18. For interactive data input, special screens are designed on video terminals for easy data entry. Errors in data entry are instantly detected by a validation program during data entry and can be immediately corrected. 19. Common methods of interactive data input is by use of menus, templates and interactive commands for data entry. 20. A menu method is used to pick one out of many alternatives, a template method to enter new data, and a command method to add and delete data. 21. These methods are combined to provide a user the most appropriate technique for a particular type of interactive data entry. QUESTION BANK – MODULE 11 11.1 What is the difference between on-line and off-line data entry? 11.2 11.3 11.4 11.5 Why are input data records divided into batches for off-line data entry? What is the purpose of a data validation program? What are the main principles used in designing forms for data entry? A good and a bad design for entering date in a form is given in Section 11.1. What are the reasons for saying that one of them is good and the other bad? 11.6 Design a form to be used by a salesman to report to the office about the sales executed by him at different customer locations. 11.7 11.8 Why are data fields coded in an information system? Can the name of a person be used as a code, for say, his bank account? If not, why? 11.9 11.10 11.11 11.12 11.13 11.14 11.15 11.16 What are the requirements of a good coding scheme? Is a concise code comprehensive? If not, why? Is a meaningful code necessarily comprehensive? Is a comprehensive code necessarily meaningful? Is a precise code necessarily concise? What is the advantage of a serial number code? Why is it not normally used? What is the main advantage of block codes? Design a group classification code to code (i) motor vehicles,, (ii) music cassettes, and (iii) books 11.17 Is a group classification code meaningful? 11.18 11.19 Give an example of a significant code. Are significant codes expandable? Add a Modulus-11 check digit to the codes (i) 48467, (ii) 96432, and (iii) 87646257. 11.20 Modulus-37 check is suitable for alphanumeric codes. Add a modulus-37 character to the codes (i) 4AB9W, (ii) XBY483, and (iii) CAZ4642. 11.21 The following code was entered by an operator:449632. The last digit is a modulus-11 check digit. Is this code correct? 11.22 If a code uses hexadecimal digits, what should be N if the modulus-N check digit system is to be used with such codes? What are the allowable weights if single transcription and transposition errors are to be detected? 11.23 If modulus-11 check digit system is to generate detection of multiple identical digit transcription error (i.e., a code such as 45565 is wrongly entered as 48868), what should be the constraints on the weights? 11.24 A see-saw error is one in which one digit of the code is increased by x and another decreased by x. For example, 486732 becoming 456762. When can modulus N check detect such errors? 11.25 Why is it useful to assign sequence numbers for data records? What are the types of errors detected by sequence numbering? 11.26 What is the purpose of batch control record? What is the type of information contained in a batch control record? 11.27 A set of data records for student examination results has the following format: Roll no. Name Marks (out of 100) Paper 1 Paper 2 Paper 3 Paper 4 Design for these records a batch control record and a record control field and any other appropriate checks for the fields. 11.28 11.29 11.30 Give some example of fields for which a radix error check is appropriate. What is the difference between range check and a radix check? What are the appropriate range checks for the age of individuals in an employee file, a high school student file, and height of students in a student file. 11.31 11.32 11.33 Give some examples of fields where reasonableness check would be applicable. Give some examples of inter-field relationship checks. What is the main difference between menus, templates and command modes of interactive data entry? When is each of these modes appropriate? 11.34 11.35 Design a dialogue hierarchy for entering data on customers (of a manufacturer). Design a dialogue hierarchy and the screens for a system used to reserve seats in long distance buses. REFERENCES 1. Most traditional books on Systems Analysis and Design do not discuss HTML and XML and documents on the web. 2. HTML is discussed in Wall D.A., using world wide web, 2nd edition, Prentice Hall of India, New Delhi, 1996. 3. Detailed Presentation of XML may be found in the book by Sean McGrath, “XML by Example”, Prentice Hall, Inc., N.J., U.S.A., 1998. 4. D.Box, A.Skonnard and J……, “Essential XML”, Pearson Education Asia, New Delhi 2000. 5. Using HTML.4, XML and JAVA 1.2, Eric Ladd et.al , Prentice Hall of India, New Delhi, 1999. 6. HTML 4.0 specifications may be found in http://www/w3.org/TR/html40 MODULE 12 CONTROL,AUDIT AND SECURITY OF INFORMATION SYSTEM OBJECTIVE QUESTIONS There are 4 alternative answers to each question. One of them is correct. Pick the correct answer. Do not guess. A key is given at the end of the module for you to verify your answer LEARNING UNIT 1 12.1.1 Control in design of an information system is used to (a) inspect the system and check that it is built as per specifications (b) protect data from accidental or intentional loss (c) ensure that the system processes data as it was designed to and that the results are reliable (d) ensure privacy of data processed by it 12.1.2 Controls are necessary in information systems as (i) massive amounts of data are processed and human errors are expected in data entry (ii) accidental errors can lead to loss of money and credibility in a system (iii) to protect the system from virus attack (iv) data may be lost due to disk crashes (a) i and ii (b) i and iii (c) i and iv (d) ii and iii 12.1.3 The major objectives of control are (i) guard against frauds in data entry/processing (ii) check clerical handling of data before it enters a computer (iii) to provide a method to trace the steps and find where error has occurred (iv) automatically correct errors in data entry/processing (a) i, ii and iv (b) i, ii, iii and iv (c) i, ii and iii (d) i and iii 12.1.4 Organizational measures in control mean (a) a set of well organized methods (b) assignment of appropriate responsibilities to individuals in data processing in an organization (c) proper organization of data (d) creation of an organization for controlling system 12.1.5 Proof figures are used to check (i) arithmetic errors in processing (ii) data entry errors in processing (iii) loop errors in program (iv) proof of program correctness (a) i and ii (b) i and iii (c) ii and iv (d) iii and iv 12.1.6 A proof figure is (a) a figure used to prove the correctness of data entry (b) an additional data entered with each record to facilitate detection of arithmetic error (c) a number used during data entry (d) a modulus-11 check digit 12.1.7 A two way check (a) calculates the same quantity in two different ways and compares them for equality (b) calculates the quantities and compares them for equality (c) checks a data item in two different ways (d) enters data two times and cross-checks them 12.1.8 A two-way check is used to (i) check program correctness (ii) find data entry errors (iii) find multiplication errors (iv) find arithmetic error in processing (a) i and ii (b) ii and iii (c) ii and iv (d) i and iv 12.1.9 A relationship check (a) is concerned with checking a relation (b) uses an entity-relationship model for checking (c) finds out if a relationship is satisfied in computation (d) uses the fact that a known relationship exists between two data elements and checks if it is satisfied during computation 12.1.10 A check-point procedure (a) checks program correctness at certain points (b) divides a program into smaller parts (c) breaks a programs into portions at the end of each of which a check point program is executed (d) finds points in a program where it is convenient to check it 12.1.11 At each check-point (i) quantities such as control totals and proof figures are checked for correctness (ii) process state is stored in secondary storage (iii) a program halts for check by programmers (iv) a self-checking system is invoked by the analyst (a) i and iv (b) ii and iii (c) i and ii (d) i and iii LEARNING UNIT 2 12.2.1 Audit in the design of information system is used to (a) inspect the system and check that it is built as per specifications (b) protect data from accidental or intentional loss (c) ensure that the system processes data as it was designed to and that the results are reliable (d) ensure privacy of data processed by it 12.2.2 Auditing of information systems is primarily required to ensure that (i) all input records are correct and are included in processing (ii) the system has ample protection against frauds (iii) the processing performance is reliable (iv) the system is developed at low cost (a) i and ii (b) iii and iv (c) ii and iii (d) i, ii and iii 12.2.3 By auditing around the computer we mean (a) the inputs and the corresponding outputs are compared and checked for correctness (b) the programs and procedures are checked for correctness (c) special synthetic data is input and outputs checked for correctness (d) programs are written to check the functioning of the computer hardware 12.2.4 By auditing with a computer we mean (a) the inputs and the corresponding outputs are compared and checked for correctness (b) the programs and procedures are checked for correctness (c) special synthetic data is input and outputs checked for correctness (d) programs are written to check the functioning of the computer hardware 12.2.5 By auditing through the computer we mean (a) the inputs and the corresponding outputs are compared and checked for correctness (b) the programs and procedures are checked for correctness (c) special synthetic data is input and outputs checked for correctness (d) programs are written to check the functioning of the computer hardware 12.2.6 An audit trail is established in a system to (a) detect errors in a system (b) enable auditing of a system (c) localize the source of an error in a system (d) trail a program 12.2.7 Some audit and control procedures in a system (i) detect and correct errors in programs (ii) selectively print records in a system which meet certain criteria (iii) examine credit and debit balances in an accounting system and check if they balance (iv) provide a facility to trace a variable value through processing steps and print intermediate values when required (a) i and ii (b) ii and iii (c) i, ii, iii (d) ii, iii, iv 12.2.8 It is advisable for an auditor to require an operational information system to (i) keep logs of all system runs and people involved (ii) ensure that the programs and system operation are well documented (iii) ensure that no changes are allowed (iv) ensure that the inputs and batch controls are properly designed (a) i, ii, iii (b) ii, iii, iv (c) i, ii, iv (d) i, ii 12.2.9 In auditing with a computer (a) auditing programs are designed and used to check a system (b) the hardware of the computer is thoroughly checked for malfunctions (c) system software is thoroughly checked to ensure error free operations (d) auditors check system with a computer 12.2.10 Some of the features of audit package used to check systems are: (i) facility to total specified items based on some criteria (ii) extracting items based on some criteria for checking (iii) check-pointing and restart facility (iv) hardware faults recovery (a) i, ii (b) i, ii, iii (c) i, ii, iii, iv (d) i, ii, iv LEARNING UNIT 3 12.3.1 By information system testing we mean (a) testing an information system correctly (b) determining whether a system is performing as per specifications (c) determining whether a system is performing optimally (d) ensuring proper function of a system 12.3.2 The main objectives of testing are (i) when correct inputs are fed to the system the outputs are correct (ii) when incorrect inputs are fed to the system they are detected and rejected (iii) the requirement specifications are correct (iv) verify that the controls incorporated in the system function correctly (a) i, ii (b) i, ii, iii (c) i, ii, iii, iv (d) i, ii, iv 12.3.3 The scope of the system test includes (a) both computerized and manual procedures (b) only test of computer procedures (c) computerized procedures, manual procedures, computer operations and controls (d) mainly computerized procedures and operations controls 12.3.4 Program tests use test data to (i) exercise all paths taken by a program (ii) test loop counters (iii) test with values which change state of logical variables (iv) comprehensively exercise program (a) i, ii (b) i, ii, iii (c) i, ii, iii, iv (d) i, ii, iv 12.3.5 By string test we mean (a) a test which tests operations with strings (b) a string of tests on programs (c) Test on related programs (d) The output of a program is sent as input to related program(s) to see if data is transferred correctly 12.3.6 Parallel runs are used (a) during regular operation of an information system (b) when a system is initially implemented (c) whenever errors are found in a computerized system (d) whenever management insists 12.3.7 The purpose of parallel run is to (a) to see whether outputs of a newly computerized system matches those of currently running manual or legacy system (b) have redundancy for reliability (c) test an operational information system (d) test a system being newly designed LEARNING UNIT 4 12.4.1 Security in the design of information system is used to (a) inspect the system and check that it is built as per the specifications (b) protect data and programs from accidental or intentional loss (c) ensure that the system processes data as it was designed to and that the results are reliable (d) ensure privacy of data processed by it 12.4.2 By security of an information system we mean protecting (i) data from accidental or intentional damage or loss (ii) programs from accidental or intentional corruption or loss (iii) programs and data from unauthorized disclosure or change (iv) individual private data from disclosure (a) i and ii (b) i and iii (c) i, ii, iii (d) i, ii, iii, iv 12.4.3 It is necessary to protect information system from the following risks: (i) natural disasters like fire, floods etc (ii) disgruntled employees (iii) poorly trained employees (iv) hackers (v) industrial spies (vi) data entry operators (a) ii, iii, iv, v (b) i, ii, iii, iv, v (c) i, iv, v (d) i, ii, iii, iv, v, vi 12.4.4 The following measures are taken to ensure security of information systems: (i) duplicate copies of data/programs are kept in a different place preferably in fire-proof vault (ii) password protection is used to prevent unauthorized access (iii) no one is allowed to alter data in the database (iv) no one is allowed alter programs (a) i and ii (b) i, ii, iii (c) ii, iii, iv (d) iii and iv 12.4.5 Some security measures commonly used are (i) data encryption (ii) logging of all accesses to an information system and recording changes made (if any) (iii) data compression (iv) copying of files (a) ii and iii (b) i and iii (c) i and ii (d) ii and iv 12.4.6 To protect a system from viruses one should (i) not allow unauthorized use of floppy disks (ii) scan viruses in files received via a network or floppies (iii) isolate a system from networks (iv) install a roll-back recovery program in the system (a) i and iii (b) i and ii (c) ii and iv (d) i, iii, iv 12.4.7 A firewall is used in a system connected to a wide area network to (a) prevent spread of fire in the network (b) prevent unauthorized access by hackers (c) to scan for viruses in files (d) to extinguish fire spreading via network cables KEY TO OBJECTIVE QUESTIONS 12.1.1 12.1.7 12.2.2 12.2.8 12.3.4 12.4.3 c a d c b d 12.1.2 12.1.8 12.2.3 12.2.9 12.3.5 12.4.4 a c a a d a 12.1.3 12.1.9 12.2.4 12.2.10 12.3.6 12.4.5 c d c b b c 12.1.4 12.1.10 12.2.5 12.3.1 12.3.7 12.4.6 c c b b a b 12.1.5 12.1.11 12.2.6 12.3.2 12.4.1 12.4.7 a c c d b b 12.1.6 12.2.1 12.2.7 12.3.3 12.4.2 b a d c c System Analysis and Design/ Control – audit and Security of Information Systems Motivation Motivation for Controls It is very important to ensure the reliability of reports produced by an information system If unreliability is seen by users the entire credibility of the system is lost Ensuring reliability is not difficult for small systems but when a system has to handle massive data it is a challenge Systematic controls are thus essential when a system is designed Motivation for Audits Many organizations are now entirely dependent on computer based information system These information systems contain financial data and other critical procedures It is essential to protect the systems against frauds and ensure that sound accounting practices are followed It is necessary to trace the origin and fix responsibilities when frauds occur Audit methods primary purpose is to ensure this. Motivation for Testing Systems contain many individual subsystems Usually sub-systems and programs are individually tested However when a whole system is integrated unforeseen errors may be seen Thus before releasing a system the entire operational system should be tested for correctness and completeness Motivation for Security Systems contain sensitive data about the organization and also about persons working in the organization Sensitive data should be protected from spies, thieves or disgruntled employees. Thus access should be carefully controlled and provided only on a need to know basis When computers are networked corruption/erasure may take place due to viruses Services may be disrupted due to denial of service attacks Thus systems should be designed with appropriate security measures. V. Rajaraman/IISc. Bangalore //V1/July 04/1 System Analysis and Design/ Control – audit and Security of Information Systems Motivation Motivation for Disaster Recovery Organizations depend on Information systems for their entire operations It is thus essential to ensure continuity of service when unforeseen situations such as disk crashes, fires, floods and such disasters take place. Thus it is essential to ensure quick recovery from disasters and ensure continuity of service. V. Rajaraman/IISc. Bangalore //V1/July 04/1 MODULE 12 CONTROL AUDIT AND SECURITY OF INFORMATION SYSTEM Learning Units 12.1 Controls in Information systems 12.2 Need and methods of auditing Information systems 12.3 Testing Information systems 12.4 Security of Information systems Systems Analysis And Design © V. Rajaraman LEARNING GOALS Why controls are necessary in Information systems Methods of controlling Information systems How controls are introduced in Information systems Why Information systems need auditing How are systems audited The methods used to test Information systems How the security of an Information system is ensured Systems Analysis And Design © V. Rajaraman 1 of 27 MOTIVATION FOR CONTROLS It is very important to ensure the reliability of reports produced by an information system If unreliability is seen by users the entire credibility of the system is lost Ensuring reliability is not difficult for small systems but when a system has to handle massive data it is a challenge Systematic controls are thus essential when a system is designed Systems Analysis And Design © V. Rajaraman 2 of 27 MOTIVATION FOR AUDITS Many organizations are now entirely dependent on computer based information system These information systems contain financial data and other critical procedures It is essential to protect the systems against frauds and ensure that sound accounting practices are followed It is necessary to trace the origin and fix responsibilities when frauds occur Audit methods primary purpose is to ensure this. Systems Analysis And Design © V. Rajaraman 3 of 27 MOTIVATION FOR TESTING Systems contain many individual subsystems Usually sub-systems and programs are individually tested However when a whole system is integrated unforeseen errors may be seen Thus before releasing a system the entire operational system should be tested for correctness and completeness Systems Analysis And Design © V. Rajaraman 4 of 27 MOTIVATION FOR SECURITY Systems contain sensitive data about the organization and also about persons working in the organization Sensitive data should be protected from spies, thieves or disgruntled employees. Thus access should be carefully controlled and provided only on a need to know basis When computers are networked corruption/erasure may take place due to viruses Services may be disrupted due to denial of service attacks Thus systems should be designed with appropriate security measures. Systems Analysis And Design © V. Rajaraman 5 of 27 MOTIVATION FOR DISASTER RECOVERY Organizations depend on Information systems for their entire operations It is thus essential to ensure continuity of service when unforeseen situations such as disk crashes,fires,floods and such disasters take place. Thus it is essential to ensure quick recovery from disasters and ensure continuity of service. Systems Analysis And Design © V. Rajaraman 6 of 27 CONTROL AUDIT AND SECURITY OF INFORMATION SYSTEM • CONTROL- Method to ensure that a system processes data as per design and that all data is included and are correct • AUDIT AND TESTING - Ensure that the system is built as per specifications and that processed results are correct. Protect systems from frauds. • SECURITY- Protection of data resources,programs,and equipment from illegal use,theft,vandalism,accidents, disasters etc. 12.1.1 Systems Analysis And Design © V. Rajaraman 7 of 27 NEED OF CONTROLS • Information systems handle massive amounts of data – accidents such as not including some data can cause serious damage • Incorrect data entry can lead to high monetary losses • Credibility in the information system may be lost if errors are found in operational systems 12.1.2 Systems Analysis And Design © V. Rajaraman 8 of 27 OBJECTIVES OF CONTROLS •To make sure data entering the computer are correct •Check clerical handling of data before it is input to a computer •Provide means of detecting and tracing errors which occur due to bad data or bad program •Ensure legal requirements are met •To guard against frauds © V. Rajaraman 12.1.3 Systems Analysis And Design 9 of 27 CONTROL TECHNIQUES • ORGANIZATIONAL MEASURES Well defined responsibility for input preparation, delivery output use, operation and maintenance - Changes in program and data (if any) should be documented - Performance of task and recording must be by different persons to prevent frauds 12.1.4 Systems Analysis And Design © V. Rajaraman 10 of 27 CONTROL TECHNIQUES • INPUT PREPARATOIN CONTROL -Sequence numbering -Batch controls -Data entry and verification -Record totals -Self checking digits, (Covered in Module 7) 12.1.5 Systems Analysis And Design © V. Rajaraman 11 of 27 PROCESSING CONTROLS PROOF FIGURES –An additional data element introduced to detect data entry/processing error Example:item code,qty supplied,cost/unit,proof cost(proof cost is additional data introduced. Proof cost=(H-cost/unit)where H is a constant > maxcost Check if H ∑ qty = ∑qty *proof cost + ∑qty * cost/unit If two sides are not equal, there is an error. 12.1.6 Systems Analysis And Design © V. Rajaraman 12 of 27 PROCESSING CONTROLS TWO WAY CHECK – Calculate same qty in two different ways and they should be equal Example : ∑gross pay - ∑deductions = ∑net pay RELATIONSHIP CHECK –We know relation between variable. Example : Rebate total = ∑Sales * discount percent CHECKPOINT RESTART – Periodical storing of process state. If there is a failure roll back to saved state and restart computation. CHECK POINTS also useful to check intermediate results in long and complex calculations.Region where an error occurred can thus be isolated 12.1.7 Systems Analysis And Design © V. Rajaraman 13 of 27 AUDITING OF INFORMATION SYSTEMS OBJECTIVES Ensure computer based financial and other information reliable Ensure all records included while processing Ensure protection from frauds 12.2.1 Systems Analysis And Design © V. Rajaraman 14 of 27 AUDIT METHODS AUDITING AROUND COMPUTER Take sample inputs and manually apply processing rules and compare outputs with computer outputs AUDITING THROUGH THE COMPUTER -Establish audit trail which allows examining selected intermediate results -Control totals provide intermediate checks 12.2.2 Systems Analysis And Design © V. Rajaraman 15 of 27 AUDITING THROUGH THE COMPUTER Facility to trace transaction value and print intermediate results Selective printing of records meeting criteria specified by the auditor For example :Inactive accounts,overactive accounts, accounts with high balance Comparing credit and debit balances Ensure logs are kept of who did what in critical data entry and processing to fix responsibility.Called an Audit trail. Auditor’s own check inputs and expected outputs. 12.2.3 Systems Analysis And Design © V. Rajaraman 16 of 27 AUDITING WITH THE COMPUTER Use special audit packages to check system Audit package allows Extracting data based on the specified criterion for inspection(e.g. Students with wide disparity in marks in two subjects) Totaling specified subset of data for check Procedure to check sale discounts Process with independent data file created by auditor and verify to see if system is as per specification 12.2.4 Systems Analysis And Design © V. Rajaraman 17 of 27 SYSTEM TESTING OBJECTIVES To ensure the entire system will perform as per specification Ensure system meets users requirements Verify if controls function as intended To make sure incorrect inputs,incorrect processing and incorrect outputs (if any) will be detected during operation Should include both computer based and manual processes Remember that system testing is done before a system is released as ready for operation 12.3.1 Systems Analysis And Design © V. Rajaraman 18 of 27 CLASIFICATION OF SYSTEM TESTS •PROGRAM TESTS -Program tests with test data - Normally individual modules tested then integration test done - Test boundary conditions - Test using loop counts •SYSTEM TESTS -Results from a program fed as input to a succeeding program - a string of programs run one after another 12.3.2 Systems Analysis And Design © V. Rajaraman 19 of 27 SYSTEM TESTING (CONTD) • SYSTEM TESTS -All programs in a complete system are tested together as a whole.Tested using unreasonable data and non key data besides normal test data for whole system • PILOT TESTS -Use data from manual system to test system when it is first implemented. If it is modification of earlier computer based system use data and output from that system 12.3.3 Systems Analysis And Design © V. Rajaraman 20 of 27 SYSTEM TESTING (CONTD) • PARALLEL RUNS -Run both manual and computer based systems with same live data and see if both give identical results -If it is re-engineered (i.e.,Modified) system run both old and new systems and compare results 12.3.4 Systems Analysis And Design © V. Rajaraman 21 of 27 SECURITY OF INFORMATION SYSTEMS Security means protection of data from accidental or intentional modification, destruction or disclosure to unauthorised persons POTENTIAL THREATS TO SECURITY Natural disasters such as fire, floods, earthquakes Accidents such as disk crashes, file erasure by inexperienced operators Theft/erasure of data by disgruntled employees © V. Rajaraman 12.4.1 Systems Analysis And Design 22 of 27 SECURITY OF INFORMATION SYSTEMS POTENTIAL THREATS TO SECURITY (CONTD) Frauds by changing programs, data by employees Industrial espionage Viruses/Worms Hackers who break into systems connected to the internet Denial of service attacks by flooding with mail 12.4.2 Systems Analysis And Design © V. Rajaraman 23 of 27 HOW TO PROTECT DATA/PROGRAMS Regular back up of data bases every day/or week depending on the time criticality and size Incremental back up at shorter intervals Backup copies kept in safe remote location -particularly necessary for disaster recovery Duplicate systems run and all transactions mirrored if it is a very critical system and cannot tolerate any disruption before storing in disk. Physical locks Password system Biometric authentication (Eg: Finger print) 12.4.3 Systems Analysis And Design © V. Rajaraman 24 of 27 HOW TO PROTECT DATA/PROGRAMS Encrypting sensitive data/programs Identification of all persons who read or modify data and logging it in a file Training employees on data care/handling and security Antivirus software Firewall protection when connected to internet 12.4.4 Systems Analysis And Design © V. Rajaraman 25 of 27 DATA SECURITY, PRIVACY AND INTEGRITY Data security is concerned with protecting data from erasure,theft,unauthorized access and unauthorized modifications Data privacy is concerned with protecting data regarding individuals from being accessed and used without the permission/knowledge of concerned individuals Data integrity is concerned with the quality and reliability of raw as well as processed data 12.4.5 Systems Analysis And Design © V. Rajaraman 26 of 27 DATA SECURITY, PRIVACY AND INTEGRITY Security does not imply privacy or integrity Privacy controls need specific law against disclosure of personal data Ultimately data and system integrity most important 12.4.6 Systems Analysis And Design © V. Rajaraman 27 of 27 MODULE 12 CONTROL AUDIT AND SECURITY OF INFORMATION SYSTEM Contents 1. MOTIVATION AND LEARNING GOALS 2. LEARNING UNIT 1 Controls in Information systems 3. LEARNING UNIT 2 Need and methods of auditing Information systems 4. LEARNING UNIT 3 Testing Information systems 5. LEARNING UNIT 4 Security of Information systems 6. References CONTROL AUDIT AND SECURITY OF INFORMATION SYSTEM MOTIVATION FOR CONTROLS It is very important to ensure the reliability of reports produced by an information system. If users see unreliability the entire credibility of the system is lost. Ensuring reliability is not difficult for small systems but when a system has to handle massive data it is a challenge. Systematic controls are thus essential when a system is designed. MOTIVATION FOR AUDITS Many organizations are now entirely dependent on computer based information system. These information systems contain financial data and other critical procedures. It is essential to protect the systems against frauds and ensure that sound accounting practices are followed. It is necessary to trace the origin and fix responsibilities when frauds occur. Audit methods primary purpose is to ensure this. MOTIVATION FOR TESTING Systems contain many individual subsystems. Usually sub-systems and programs are individually tested. However when a whole system is integrated unforeseen errors may be seen. Thus before releasing a system the entire operational system should be tested for correctness and completeness. MOTIVATION FOR SECURITY Systems contain sensitive data about the organization and also about persons working in the organization. This data should be protected from spies, thieves or disgruntled employees. Thus access should be carefully controlled and provided only on a need to know basis. When computers are networked corruption/erasure may take place due to viruses. Services may be disrupted due to denial of service attacks. Thus systems should be designed with appropriate security measures. MOTIVATION FOR DISASTER RECOVERY Organizations depend on Information systems for their entire operations. It is thus essential to ensure continuity of service when unforeseen situations such as disk crashes, fires, floods and such disasters take place. Thus it is essential to ensure quick recovery from disasters and ensure continuity of service. LEARNING GOALS At the end of the module you will learn: Why controls are necessary in Information systems Methods of controlling Information systems How controls are introduced in Information systems Why Information systems need auditing How are Information systems audited The methods used to test Information systems How the security of an Information system is ensured LEARNING UNIT 1 Controls in Information systems CONTROL AUDIT AND SECURITY OF INFORMATION SYSTEM • CONTROL- Method to ensure that a system processes data as per design and that all data is included and are correct • AUDIT AND TESTING - Ensure that the system is built as per specifications and that processed results are correct. Protect systems from frauds. • SECURITY- Protection of data resources, programs, and equipment from illegal use, theft, vandalism, accidents, disasters etc. NEED OF CONTROLS Information systems handle massive amounts of data – accidents such as not including some data can cause serious damage. Incorrect data entry can lead to high monetary losses. Credibility in the information system may be lost if errors are found in operational systems. OBJECTIVES OF CONTROLS To make sure data entering the computer are correct, check clerical handling of data before it is input to a computer. Provide means of detecting and tracing errors that occur due to bad data or bad program. Ensure that all legal requirements are met. CONTROL TECHNIQUES • ORGANIZATIONAL MEASURES Well-defined responsibility for input preparation, delivery, output use, operation and maintenance. Changes in program and data (if any) should be documented. Performance of task and recording must be by different persons to prevent frauds. • INPUT PREPARATOIN CONTROL -Sequence numbering -Batch controls -Data entry and verification -Record totals -Self checking digits PROCESSING CONTROLS PROOF FIGURES –An additional data element introduced to detect data entry/processing error Example:item code,qty supplied,cost/unit,proof cost(proof cost is additional data introduced). Proof cost=(H-cost/unit)where H is a constant > maxcost Check if H * qty = ∑qty *proof cost + ∑qty * cost/unit If two sides are not equal, there is an error. TWO WAY CHECK – Calculate same qty in two different ways and they should be equal Example : ∑ gross pay - ∑deductions = ∑net pay RELATIONSHIP CHECK –We know relation between variable. Example : Rebate total = ∑Sales * discount percent CHECKPOINT RESTART – Periodical storing of process state. If there is a failure roll back to saved state and restart computation. CHECK POINTS also useful to check intermediate results in long and complex calculations. Region where an error occurred can thus be isolated LEARNING UNIT 2 Need and methods of auditing Information systems AUDITING OF INFORMATION SYSTEMS OBJECTIVES Ensure computer based financial and other information reliable Ensure all records included while processing Ensure protection from frauds AUDIT METHODS AUDITING AROUND COMPUTER : Take sample inputs and manually apply processing rules and compare outputs with computer outputs AUDITING THROUGH THE COMPUTER : Establish audit trail which allows examining selected intermediate results. Control totals provide intermediate checks AUDITING THROUGH THE COMPUTER Facility to trace transaction value and print intermediate results Selective printing of records meeting criteria specified by the auditor For example :Inactive accounts, overactive accounts, accounts with high balance Comparing credit and debit balances Ensure logs are kept of who did what in critical data entry and processing to fix responsibility. Called an Audit trail. Auditor’s own check inputs and expected outputs. AUDITING WITH THE COMPUTER Use special audit packages to check system Audit package allows Extracting data based on the specified criterion for inspection (e.g. Students with wide disparity in marks in two subjects) Totaling specified subset of data for check Procedure to check sale discounts Process with independent data file created by auditor and verify to see if system is as per specification LEARNING UNIT 3 Testing Information systems OBJECTIVES To ensure the entire system will perform as per specification Ensure system meets users requirements Verify if controls function as intended To make sure incorrect inputs, incorrect processing and incorrect outputs (if any) will be detected during operation Should include both computer based and manual processes Remember that system testing is done before a system is released as ready for operation CLASIFICATION OF SYSTEM TESTS •PROGRAM TESTS -Program tests with test data - Normally individual modules tested then integration test done - Test boundary conditions - Test using loop counts •SYSTEM TESTS -Results from a program fed as input to a succeeding program - a string of programs run one after another -All programs in a complete system are tested together as a whole. Tested using unreasonable data and non key data besides normal test data for whole system • PILOT TESTS -Use data from manual system to test system when it is first implemented. If it is modification of earlier computer based system use data and output from that system • PARALLEL RUNS -Run both manual and computer based systems with same live data and see if both give identical results -If it is re-engineered (i.e.,Modified) system run both old and new systems and compare results LEARNING UNIT 4 Security of Information systems Security means protection of data from accidental or intentional modification, destruction or disclosure to unauthorised persons POTENTIAL THREATS TO SECURITY Natural disasters such as fire, floods, earthquakes Accidents such as disk crashes, file erasure by inexperienced operators Theft/erasure of data by disgruntled employees Frauds by changing programs, data by employees Industrial espionage Viruses/Worms Hackers who break into systems connected to the internet Denial of service attacks by flooding with mail SECURITY MEASURES Regular back up of data bases every day/or week depending on the time criticality and size Incremental back up at shorter intervals Backup copies kept in safe remote location -particularly necessary for disaster recovery Duplicate systems run and all transactions mirrored if it is a very critical system and cannot tolerate any disruption before storing in disk. Physical locks Password system Biometric authentication (Eg: Finger print) HOW TO PROTECT DATA/PROGRAMS Data/Programs can be protected in the following ways: Encrypting sensitive data/programs Identification of all persons who read or modify data and logging it in a file Training employees on data care/handling and security Antivirus software Firewall protection when connected to internet DATA SECURITY, PRIVACY AND INTEGRITY Data security is concerned with protecting data from erasure, theft, unauthorized access and unauthorized modifications. Data privacy is concerned with protecting data regarding individuals from being accessed and used without the permission/knowledge of concerned individuals Data integrity is concerned with the quality, reliability and trustworthiness of raw as well as processed data Security does not imply privacy or integrity Privacy controls need specific law against disclosure of personal data Ultimately data and system integrity most important REFERENCES 1. Most of the material in this module has been taken from Chapter 15, Control, Audit and Security of Information in the book “Analysis and Design of Information Systems”, 2nd Edition, Prentice Hall of India, 2002, by V.Rajaraman. 2. M.Bishop, Computer Security, Pearson Education Asia, New Delhi, 2003. It is an comprehensive book cover 1000 pages) which discusses security in great details. Going through the contents pages (pp.vii to xxx) will give a student a glimpse of various aspect of security, audit and integrity of information systems. 3. D.A. Watne, P.B.B. Turney, Auditing EDP Systems, Prentice Hall Inc. N.J., U.S.A., 1990, is an extensive treatment of auditing information systems. System Analysis and Design/Control, Audit And Security Of Information System Multiple Choice Questions 12.1 Control in design of an information system is used to a. inspect the system and check that it is built as per specifications b. protect data from accidental or intentional loss c. ensure that the system processes data as it was designed to and that the results are reliable d. ensure privacy of data processed by it 12.2 Controls are necessary in information systems as (i) massive amounts of data are processed and human errors are expected in data entry (ii) accidental errors can lead to loss of money and credibility in a system (iii) to protect the system from virus attack (iv) data may be lost due to disk crashes a. i and ii b. i and iii c. i and iv d. ii and iii 12.3 The major objectives of control are (i)guard against frauds in data entry/processing (ii)check clerical handling of data before it enters a computer (iii)to provide a method to trace the steps and find where error has occurred (iv)automatically correct errors in data entry/processing a. i, ii and iv b. i, ii, iii and iv c. i, ii and iii d. i and iii 12.4 Organizational measures in control mean a. a set of well organized methods b. assignment of appropriate responsibilities to individuals in data processing in an organization c. proper organization of data V. Rajaraman/IISc. Bangalore M12/V1/July 04/1 System Analysis and Design/Control, Audit And Security Of Information System Multiple Choice Questions d. creation of an organization for controlling system 12.5 Proof figures are used to check (i) arithmetic errors in processing (ii)data entry errors in processing (iii)loop errors in program (iv)proof of program correctness a. i and ii b. i and iii c. ii and iv d. iii and iv 12.6 A proof figure is a. a figure used to prove the correctness of data entry b. an additional data entered with each record to facilitate detection of arithmetic error c. a number used during data entry d. a modulus-11 check digit 12.7 A two way check a. calculates the same quantity in two different ways and compares them for equality b. calculates the quantities and compares them for equality c. checks a data item in two different ways d. enters data two times and cross-checks them 12.8 A two-way check is used to (i)check program correctness (ii)find data entry errors (iii)find multiplication errors (iv)find arithmetic error in processing a. i and ii b. ii and iii c. ii and iv d. i and iv V. Rajaraman/IISc. Bangalore M12/V1/July 04/2 System Analysis and Design/Control, Audit And Security Of Information System Multiple Choice Questions 12.9 A relationship check a. is concerned with checking a relation b. uses an entity-relationship model for checking c. finds out if a relationship is satisfied in computation d. uses the fact that a known relationship exists between two data elements and checks if it is satisfied during computation 12.10 A check-point procedure a. checks program correctness at certain points b. divides a program into smaller parts c. breaks a programs into portions at the end of each of which a check point program is executed d. finds points in a program where it is convenient to check it 12.11 At each check-point (i)quantities such as control totals and proof figures are checked for correctness (ii)process state is stored in secondary storage (iii)a program halts for check by programmers (iv)a self-checking system is invoked by the analyst a. i and iv b. ii and iii c. i and ii d. i and iii 12.12 Audit in the design of information system is used to a. inspect the system and check that it is built as per specifications b. protect data from accidental or intentional loss c. ensure that the system processes data as it was designed to and that the results are reliable d. ensure privacy of data processed by it 12.13 Auditing of information systems is primarily required to ensure the (i)all input records are correct and are included in processing (ii)the system has ample protection against frauds V. Rajaraman/IISc. Bangalore M12/V1/July 04/3 System Analysis and Design/Control, Audit And Security Of Information System Multiple Choice Questions (iii)the processing performance is reliable (iv)the system is developed at low cost a. i and ii b. iii and iv c. ii and iii d. i, ii and iii 12.14 By auditing around the computer we mean a. the inputs and the corresponding outputs are compared and checked for correctness b. the programs and procedures are checked for correctness c. special synthetic data is input and outputs checked for correctness d. programs are written to check the functioning of the computer har 12.15 By auditing with a computer we mean a. the inputs and the corresponding outputs are compared and checked for correctness b. the programs and procedures are checked for correctness c. special synthetic data is input and outputs checked for correctness d. programs are written to check the functioning of the computer hardware 12.16 By auditing through the computer we mean a. the inputs and the corresponding outputs are compared and checked for correctness b. the programs and procedures are checked for correctness c. special synthetic data is input and outputs checked for correctness d. programs are written to check the functioning of the computer hardware 12.17 An audit trail is established in a system to a. detect errors in a system b. enable auditing of a system c. localize the source of an error in a system d. trail a program 12.18 Some audit and control procedures in a system (i)detect and correct errors in programs V. Rajaraman/IISc. Bangalore M12/V1/July 04/4 System Analysis and Design/Control, Audit And Security Of Information System Multiple Choice Questions (ii)selectively print records in a system which meet certain criteria (iii)examine credit and debit balances in an accounting system and check if they balance (iv)provide a facility to trace a variable value through processing steps and print intermediate values when required a. i and ii b. ii and iii c. i, ii, iii d. ii, iii, iv 12.19 It is advisable for an auditor to require an operational information system (i)keep logs of all system runs and people involved (ii)ensure that the programs and system operation are well documented (iii)ensure that no changes are allowed (iv)ensure that the inputs and batch controls are properly designed a. i, ii, iii b. ii, iii, iv c. i, ii, iv d. i, ii 12.20 In auditing with a computer a. auditing programs are designed and used to check a system b. the hardware of the computer is thoroughly checked for malfunctions c. system software is thoroughly checked to ensure error free operations d. auditors check system with a computer 12.21 Some of the features of audit package used to check systems are: (i)facility to total specified items based on some criteria (ii) extracting items based on some criteria for checking (iii)check-pointing and restart facility to V. Rajaraman/IISc. Bangalore M12/V1/July 04/5 System Analysis and Design/Control, Audit And Security Of Information System Multiple Choice Questions (iv) Hardware faults recovery a. i, ii b. i, ii, iii c. i, ii, iii, iv d. i, ii, iv 12.22 By information system testing we mean a. testing an information system correctly b. determining whether a system is performing as per specifications c. determining whether a system is performing optimally d. ensuring proper function of a system 12.23 The main objectives of testing are (i)when correct inputs are fed to the system the outputs are correct (ii)when incorrect inputs are fed to the system they are detected and rejected (iii)the requirement specifications are correct (iv) verify that the controls incorporated in the system function correctly a. i, ii b. i, ii, iii c. i, ii, iii, iv d. i, ii, iv 12.24 The scope of the system test includes a. both computerized and manual procedures b. only test of computer procedures c. computerized procedures, manual procedures, computer operations and controls d. mainly computerized procedures and operations controls 12.25 Program tests use test data to (i) exercise all paths taken by a program (ii)test loop counters V. Rajaraman/IISc. Bangalore M12/V1/July 04/6 System Analysis and Design/Control, Audit And Security Of Information System Multiple Choice Questions (iii)test with values which change state of logical variables (iv)comprehensively exercise program a. i, ii b. i, ii, iii c. i, ii, iii, iv d. i, ii, iv 12.26 By string test we mean a. a test which tests operations with strings b. a string of tests on programs c. Test on related programs d. The output of a program is sent as input to related program(s) to see if data is transferred correctly 12.27 Parallel runs are used a. during regular operation of an information system b. when a system is initially implemented c. whenever errors are found in a computerized system d. whenever management insists 12.28 The purpose of parallel run is to a. to see whether outputs of a newly computerized system matches those of currently running manual or legacy system b. have redundancy for reliability c. test an operational information system d. test a system being newly designed 12.29 Security in the design of information system is used to a. inspect the system and check that it is built as per the specifications b. protect data and programs from accidental or intentional loss c. ensure that the system processes data as it was designed to and that the results are reliable d. ensure privacy of data processed by it 12.30 By security of an information system we mean protecting (i)data from accidental or intentional damage or loss V. Rajaraman/IISc. Bangalore M12/V1/July 04/7 System Analysis and Design/Control, Audit And Security Of Information System Multiple Choice Questions (ii)programs from accidental or intentional corruption or loss (iii)programs and data from unauthorized disclosure or change (iv)individual private data from disclosure a. i and ii b. i and iii c. i, ii, iii d. i, ii, iii, iv 12.31 It is necessary to protect information system from the following (i)natural disasters like fire, floods etc (ii)disgruntled employees (iii)poorly trained employees (iv)hackers (v)industrial spies (vi)data entry operators a. ii, iii, iv, v b. i, ii, iii, iv, v c. i, iv, v d. i, ii, iii, iv, v, vi 12.32 The following measures are taken to ensure security of information systems: (i)duplicate copies of data/programs are kept in a different place preferably in fire-proof vault (ii)password protection is used to prevent unauthorized access (iii)no one is allowed to alter data in the database (iv)no one is allowed alter programs a. i and ii b. i, ii, iii c. ii, iii, iv d. iii and iv 12.33 Some security measures commonly used are (i)data encryption V. Rajaraman/IISc. Bangalore M12/V1/July 04/8 System Analysis and Design/Control, Audit And Security Of Information System Multiple Choice Questions (ii)logging of all accesses to an information system and recording changes made (if any) (iii)data compression (iv)copying of files a. ii and iii b. i and iii c. i and ii d. ii and iv 12.34 To protect a system from viruses one should (i)not allow unauthorized use of floppy disks (ii)scan viruses in files received via a network or floppies (iii)isolate a system from networks (iv)install a roll-back recovery program in the system a. i and iii b. i and ii c. ii and iv d. i, iii, iv 12.35 A firewall is used in a system connected to a wide area network to a. prevent spread of fire in the network b. prevent unauthorized access by hackers c. to scan for viruses in files d. to extinguish fire spreading via network cables V. Rajaraman/IISc. Bangalore M12/V1/July 04/9 System Analysis and Design/Control, Audit And Security Of Information System Multiple Choice Questions Key to Objective Questions 12.1 c 12.7 a 12.13 d 12.19 c 12.25 b 12.31 d 12.2a 12.3 12.8 c 12.14 a 12.22 a 12.26 d 12.32 a c 12.4 12.9 d 12.15 c 12.21 b 12.27 b 12.33 c c 12.5 12.10 c 12.16 b 12.22 b 12.28 a 12.34 b a 12.6 12.11 c 12.17 c 12.23 d 12.29 b 12.35 b b 12.12 a 12.18 d 12.24 c 12.30 c V. Rajaraman/IISc. Bangalore M12/V1/July 04/10 MODULE 12 CONTROL OF INFORMATION SYSTEMS AUDIT AND SECURITY WORKED EXAMPLES 12.1 A college has 1500 students whose final examination results are declared using computer processing. There are 5 subjects, each carrying 100 marks. Classes are awarded as follows: Marks 60 or above I Class, 50 or above II Class, below 50 Fail. Devise an appropriate control scheme for processing results. Control Measures (i) Organizational measures. Each examiner who grades papers sends a separate list for batches of 50 students, number of students getting >= 60, number getting >= 50 and number below 50. Data entry is done by a person different from the one who enters control information. Control total check from the computer is seen by the head examiner and compared with information on each batch sent by different examiners. (ii) Input preparation control. Roll nos. appended with self-checking digit using modulus-11 system. Records stored roll no. wise and sequence checked while processing. Total no. of records in each batch is counted and entered in the control record. Each mark entered is checked if it is <=100 or >= 0. If marks in subject P is <= 10 and subject K >= 90 such records are marked and retrieved for inspection. (iii) Control totals. Make batches of 50. For each batch, total marks in a specified subject. In another subject count no. of students with marks >= 60 and enter no. in control record. Count total records. Processing Control Proof figure. In each student record one more field is added which is (100 – marks in subject 2). In processing in each batch this field is added together. The sum of subject 2 marks is also got as control total in each batch. Let N be the no. of records in each batch. Then sum of (100 – marks in subject 2) + sum of marks in subject 2 = 100 * N. This is checked. Checkpoint restart is provided during processing after every 150 seconds. 12.2 What is an audit trail? Audit trail provides the means of pinpointing where an error occurred once an error is detected. 12.3 What is the difference between control and audit? Controls are essential to enable an auditor to check the correctness of a system. An auditor checks whether controls put in a system are adequate. 12.4 What is an audit package? Enumerate some of the important features of an audit package. An audit package is a program developed by an auditor to check whether processing is done by a system as per specifications. Audit packages have features to (i)Extract data satisfying a specified criterion. (ii) Total specified fields for inspection. (iii) Check specified selected fields for inspection. (iv) Check totals of specified sets with certain characteristics. (iv) Matching data files with an auditor’s own file. 12.5 What is the purpose of security measures in an information system? Security measures are used to protect data and programs from accidental loss or theft. They also protect the system from unauthorized access, unauthorized change or copying. 12.6 What is the difference between security and privacy? Do secure systems ensure privacy? Security is concerned with protecting data and programs of organizations. Privacy is concerned with the need of secrecy of data regarding individuals. For example data on payroll may be secure if it is properly protected from fire, corruption etc. If an authorized person who has access to this 12.7 What is the difference between security measures and control measures? The security measures are to protect data whereas controls are to ensure that all data is processed and processed data is correct. 12.8 Is a password system sufficient to ensure security of access to files? No. Passwords can be broken by sustained effort. Double protection is slightly better. In this case two different passwords should be used. After the first password is accepted a second password is needed. Data stored may also be transformed and stored using a secret code (called encryption). 12.9 How can privacy be ensured in an information system? By proper legal protection given to individuals data. Requiring an individual’s written permission to divulge data on him/her. 12.10 Why are system tests necessary? System tests are necessary to ensure that a system conforms to specifications during operation, meets user requirements, controls function effectively, and its outputs are correct. 12.11 What are the objectives of system tests? The main objectives of system testing are: • To ensure that during operation the system will perform as per specifications. • To make sure that the system meets users’ requirements during operation. • To verify that the controls incorporated in the system function as intended. • To see that when correct inputs are fed to the system the outputs are correct. • To make sure that during operation, incorrect input, processing and outputs will be detected. 12.12 What is the difference between a pilot test and a parallel test? In pilot test a set of transactions which have been run on present system are collected. Results of their processing on the existing manual system are also kept. This set is used as test data when a computer-based system is initially developed. The two results are matched. The reason for any discrepancy is investigated to modify the new system. In parallel tests, both manual and computer-based systems are run simultaneously for a period of time and the results from the two systems are compared. It is good method for complex systems but is expensive. QUESTION BANK – MODULE 12 12.1 What is the difference between on-line and off-line data entry? 12.2 12.3 12.4 12.5 Why are input data records divided into batches for off-line data entry? What is the purpose of a data validation program? What are the main principles used in designing forms for data entry? A good and a bad design for entering date in a form is given in Section 11.1. What are the reasons for saying that one of them is good and the other bad? 12.6 Design a form to be used by a salesman to report to the office about the sales executed by him at different customer locations. 12.7 12.8 Why are data fields coded in an information system? Can the name of a person be used as a code, for say, his bank account? If not, why? 12.9 12.10 12.11 12.12 12.13 12.14 12.15 12.16 What are the requirements of a good coding scheme? Is a concise code comprehensive? If not, why? Is a meaningful code necessarily comprehensive? Is a comprehensive code necessarily meaningful? Is a precise code necessarily concise? What is the advantage of a serial number code? Why is it not normally used? What is the main advantage of block codes? Design a group classification code to code (i) motor vehicles,, (ii) music cassettes, and (iii) books 12.17 Is a group classification code meaningful? 12.18 12.19 Give an example of a significant code. Are significant codes expandable? Add a Modulus-11 check digit to the codes (i) 48467, (ii) 96432, and (iii) 87646257. 12.20 Modulus-37 check is suitable for alphanumeric codes. Add a modulus-37 character to the codes (i) 4AB9W, (ii) XBY483, and (iii) CAZ4642. 12.21 The following code was entered by an operator:449632. The last digit is a modulus-11 check digit. Is this code correct? 12.22 If a code uses hexadecimal digits, what should be N if the modulus-N check digit system is to be used with such codes? What are the allowable weights if single transcription and transposition errors are to be detected? 12.23 If modulus-11 check digit system is to generate detection of multiple identical digit transcription error (i.e., a code such as 45565 is wrongly entered as 48868), what should be the constraints on the weights? 12.24 A see-saw error is one in which one digit of the code is increased by x and another decreased by x. For example, 486732 becoming 456762. When can modulus N check detect such errors? 12.25 Why is it useful to assign sequence numbers for data records? What are the types of errors detected by sequence numbering? 12.26 What is the purpose of batch control record? What is the type of information contained in a batch control record? 12.27 A set of data records for student examination results has the following format: Roll no. Name Marks (out of 100) Paper 1 Paper 2 Paper 3 Paper 4 Design for these records a batch control record and a record control field and any other appropriate checks for the fields. 12.28 12.29 12.30 Give some example of fields for which a radix error check is appropriate. What is the difference between range check and a radix check? What are the appropriate range checks for the age of individuals in an employee file, a high school student file, and height of students in a student file. 12.31 12.32 12.33 Give some examples of fields where reasonableness check would be applicable. Give some examples of inter-field relationship checks. What is the main difference between menus, templates and command modes of interactive data entry? When is each of these modes appropriate? 12.34 12.35 Design a dialogue hierarchy for entering data on customers (of a manufacturer). Design a dialogue hierarchy and the screens for a system used to reserve seats in long distance buses. REFERENCES 1. Most of the material in this module has been taken from Chapter 15, Control, Audit and Security of Information in the book “Analysis and Design of Information Systems”, 2nd Edition, Prentice Hall of India, 2002, by V.Rajaraman. 2. M.Bishop, Computer Security, Pearson Education Asia, New Delhi, 2003. It is an comprehensive book cover 1000 pages) which discusses security in great details. Going through the contents pages (pp.vii to xxx) will give a student a glimpse of various aspect of security, audit and integrity of information systems. 3. D.A. Watne, P.B.B. Turney, Auditing EDP Systems, Prentice Hall Inc. N.J., U.S.A., 1990, is an extensive treatment of auditing information systems. SUMMARY of Module 12 1. Data may be input to a computer off-line or on-line. In on-line entry a user enters data interactively via a video terminal connected to the computer. In off-line data entry data filled in forms are entered by operators in a separate PC or a data entry machine. 2. 3. Off-line data entry is suitable if the number of records is very large. In off-line data entry, batches of data are formed and entered. They are checked by a validation program and the corrected records are stored in a file. 4. To reduce errors in input, it is essential to carefully design the forms used for entering data. 5. Important data elements are coded. Codes are necessary for unique identification, easily cross-referencing and efficient storage and retrieval. 6. There are many methods for coding. An ideal code must be concise, expandable, meaningful, comprehensive and precise. It is not possible to incorporate all these ideal features in a code. 7. Codes are classified as: (i) Serial number codes, (ii) Block codes, (iii) Group classification codes, and (iv) Significant codes. Group classification codes and Significant codes are most meaningful, expandable, precise and comprehensive. They are, however, not concise, Serial and Block number codes are more concise. They are also precise and expandable but are not meaningful and comprehensive. 8. Any error made in entering important data fields such as account codes and identification codes must be detected during data entry. 9. The most common errors made during data entry are: a single digit is incorrectly entered or any two digits in the code are interchanged. These errors are called respectively single transcription and transposition errors and account for 96% of all data entry errors. 10. Given a code, the digits in it starting from the last digit are multiplied by weights 2, 3, 4, etc., and the products are added. The sum is divided by 11. The remainder is subtracted from 11. This number (which is called a check digit) is appended as the last digit of the code. The code constructed in this way is called a midulus-11 check digit code. 11. After data entry the digits in the code starting from the last digit are multiplied by weights 1, 2, 3, 4, etc., and the products are added. The sum is divided by 11. If the remainder is not zero then there is an error in the code. 12. Modulus-11 check digit code guarantees detection of all single transcription and transposition errors. It also detects 95% of all other errors. 13. It is essential to design good data validation programs to prevent data entry errors from corrupting files of input data. Validation programs need information for detecting errors. This information is provided by controls exercised during data preparation. 14. Important control mechanisms are; giving unique sequence numbers to each data record, providing a batch control record containing a count of number of records and a total of one of the fields.. 15. The same data is entered by two different persons and compared to reduce transcription errors. 16. Besides this, individual data fields are checked using information on their range of allowed values, range of reasonable values, and relationships between different fields. Batch control provides information to detect incorrect values entered, missing records, and data in the wrong sequence. 17. With the advent of Personal Computers, remote terminals connected to a computer and local computer networks, considerable amount of data is entered in files interactively. 18. For interactive data input, special screens are designed on video terminals for easy data entry. Errors in data entry are instantly detected by a validation program during data entry and can be immediately corrected. 19. Common methods of interactive data input is by use of menus, templates and interactive commands for data entry. 20. A menu method is used to pick one out of many alternatives, a template method to enter new data, and a command method to add and delete data. 21. These methods are combined to provide a user the most appropriate technique for a particular type of interactive data entry. MODULE 13 ELECTRONIC COMMERCE OBJECTIVE QUESTIONS There are 4 alternative answers to each question. One of them is correct. Pick the correct answer. Do not guess. A key is given at the end of the module for you to verify your answer LEARNING UNIT 1 13.1.1 By Electronic Commerce we mean: (a) Commerce of electronic goods (b) Commerce which depends on electronics (c) Commerce which is based on the use of internet (d) Commerce which is based on transactions using computers connected by telecommunication network 13.1.2 For carrying out B2B e-Commerce the following infrastructure is essential: (i) World Wide Web (ii) Corporate network (iii) Electronic Data Interchange standards (iv) Secure Payment Services (v) Secure electronic communication link connecting businesses (a) i, ii, iii (b) ii, iii, iv (c) ii, iii, iv, v (d) i, ii, iii, iv, v 13.1.3 For carrying out B2C e-Commerce the following infrastructure is essential: (i) World Wide Web (ii) Corporate network (iii) Electronic Data Interchange standards (iv) Secure Payment Services (v) Secure electronic communication link connecting businesses (a) i, iv (b) i, iii, iv (c) ii, iii (d) i, ii, iii, iv 13.1.4 For carrying out C2C e-Commerce the following infrastructure is essential: (i) World Wide Web (ii) Corporate network (iii) Electronic Data Interchange standards (iv) Secure Payment Services (v) Secure electronic communication link connecting businesses (a) i and ii (b) ii and iv (c) i (d) i and iv 13.1.5 Advantages of B2C commerce are (i) Business gets a wide reach to customers (ii) Payment for services easy (iii) Shop can be open 24 hours a day seven days a week (iv) Privacy of transaction always maintained (a) i and ii (b) ii and iii (c) i and iii (d) iii and iv 13.1.6 B2C commerce (a) includes services such as legal advice (b) means only shopping for physical goods (c) means only customers should approach customers to sell (d) means only customers should approach business to buy 13.1.7 Advantages of B2C commerce to customers are (i) wide variety of goods can be accessed and comparative prices can be found (ii) shopping can be done at any time (iii) privacy of transactions can be guaranteed (iv) security of transactions can be guaranteed (a) i and ii (b) ii and iii (c) iii and iv (d) i and iv 13.1.8 Disadvantages of e-Commerce in India are (i) internet access is not universally available (ii) credit card payment security is not yet guaranteed (iii) transactions are de-personalized and human contact is missing (iv) cyberlaws are not in place (a) i and ii (b) ii and iii (c) i, ii, iii (d) i, ii, iii, iv LEARNING UNIT 2 13.2.1 Electronic Data Interchange is necessary in (a) B2C e-Commerce (b) C2C e-Commerce (c) B2B e-Commerce (d) Commerce using internet 13.2.2 EDI requires (a) representation of common business documents in computer readable form (b) data entry operators by receivers (c) special value added networks (d) special hardware at co-operating Business premises 13.2.3 EDI standards are (a) not universally available (b) essential for B2B commerce (c) not required for B2B commerce (d) still being evolved 13.2.4 EDIFACT is a standard (a) for representing business forms used in e-Commerce (b) for e-mail transaction for e-Commerce (c) for ftp in e-Commerce (d) protocol used in e-Commerce 13.2.5 EDIFACT standard was developed by (a) American National Standard Institute (b) International Standard Institute (c) European Common Market (d) United Nations Economic Commission for Europe 13.2.6 ANSI X.12 is a standard developed by (a) American National Standard Institute (b) International Standard Institute (c) European Common Market (d) United Nations Economic Commission for Europe 13.2.7 In B2B e-Commerce (i) Co-operating Business should give an EDI standard to be used (ii) Programs must be developed to translate EDI forms to a form accepted by application program (iii) Method of transmitting/receiving data should be mutually agreed (iv) It is essential to use internet (a) i, ii (b) i, ii, iii (c) i, ii, iii, iv (d) ii, iii, iv 13.2.8 EDI use (a) requires an extranet (b) requires value added network (c) can be done on internet (d) requires a corporate intranet 13.2.9 EDI over internet uses (a) MIME to attach EDI forms to e-mail messages (b) FTP to send business forms (c) HTTP to send business forms (d) SGML to send business forms 13.2.10 For secure EDI transmission on internet (a) MIME is used (b) S/MIME is used (c) PGP is used (d) TCP/IP is used 13.2.11 EDI standard (a) is not easily available (b) defines several hundred transaction sets for various business forms (c) is not popular (d) defines only a transmission protocol LEARNING UNIT 3 13.3.1 By security in e-Commerce we mean (i) Protecting an organization’s data resource from unauthorized access (ii) Preventing disasters from happening (iii) Authenticating messages received by an organization (iv) Protecting messages sent on the internet from being read and understood by unauthorized persons/organizations (a) i, ii (b) ii, iii (c) iii, iv (d) i, iii, iv 13.3.2 A firewall is a (a) wall built to prevent fires from damaging a corporate intranet (b) security device deployed at the boundary of a company to prevent unauthorized physical access (c) security device deployed at the boundary of a corporate intranet to protect it from unauthorized access (d) device to prevent all accesses from the internet to the corporate intranet 13.3.3 A firewall may be implemented in (a) routers which connect intranet to internet (b) bridges used in an intranet (c) expensive modem (d) user’s application programs 13.3.4 Firewall as part of a router program (a) filters only packets coming from internet (b) filters only packets going to internet (c) filters packets travelling from and to the intranet from the internet (d) ensures rapid traffic of packets for speedy e-Commerce 13.3.5 Filtering of packets by firewall based on a router has facilities to (i) prevent access to internet to some clients in the intranet (ii) prevent access at certain specified times (iii) filter packets based on source or destination IP address (iv) prevent access by certain users of the internet to other specified users of the internet (a) i, iii (b) i, ii, iii (c) i, ii, iii, iv (d) ii, iii, iv 13.3.6 Main function of proxy application gateway firewall is (a) to allow corporate users to use efficiently all internet services (b) to allow intranet users to securely use specified internet services (c) to allow corporate users to use all internet services (d) to prevent corporate users from using internet services 13.3.7 Proxy application gateway (i) acts on behalf of all intranet users wanting to access internet securely (ii) monitors all accesses to internet and allows access to only specified IP addresses (iii) disallows use of certain protocols with security problems (iv) disallows all internet users from accessing intranet (a) i, ii (b) i, ii, iii (c) i, ii, iii, iv (d) ii, iii, iv 13.3.8 A hardened firewall host on an intranet (i) has a proxy application gateway program running on it (ii) allows specified internet users to access specified services in the intranet (iii) initiates all internet activities requested by clients and monitors them (iv) prevents outsiders from accessing IP addresses within the intranet (a) i, ii (b) i, ii, iii (c) i, ii, iii, iv (d) ii, iii, iv 13.3.9 A hardened firewall host on an Intranet is (a) a software which runs in any of the computers in the intranet (b) a software which runs on a special reserved computer on the intranet (c) a stripped down computer connected to the intranet (d) a mainframe connected to the intranet to ensure security 13.3.10 By encryption of a text we mean (a) compressing it (b) expanding it (c) scrambling it to preserve its security (d) hashing it 13.3.11 Encryption is required to (i) protect business information from eavesdropping when it is transmitted on internet (ii) efficiently use the bandwidth available in PSTN (iii) to protect information stored in companies’ databases from retrieval (iv) to preserve secrecy of information stored in databases if an unauthorized person retrieves it (a) i and ii (b) ii and iii (c) iii and iv (d) i and iv 13.3.12 Encryption can be done (a) only on textual data (b) only on ASCII coded data (c) on any bit string (d) only on mnemonic data 13.3.13 By applying permutation (31254) and substitution by 5 characters away from current character (A F , B G etc..) the following string ABRACADABRA becomes (a) FGWCAAADRBF (b) RABCAAADRBF (c) WFGHFFFIWGF (d) None of the above 13.3.14 The following ciphertext was received. The plaintext was permuted using permutation (34152) and substitution. Substitute character by character +3 (A D, etc). The plain text after decryption is: Cipher text : PDLJDLXHVQC (a) MAIGAIUESNZ (b) IAMAGENIUSZ (c) LDPDJHPLXVZ (d) IAMAGENIUSC 13.3.15 By symmetric key encryption we mean (a) one private key is used for both encryption and decryption (b) private and public key used are symmetric (c) only public keys are used for encryption (d) only symmetric key is used for encryption 13.3.16 The acronym DES stands for (a) Digital Evaluation System (b) Digital Encryption Standard (c) Digital Encryption System (d) Double Encryption Standard 13.3.17 DES works by using (a) permutation and substitution on 64 bit blocks of plain text (b) only permutations on blocks of 128 bits (c) exclusive ORing key bits with 64 bit blocks (d) 4 rounds of substitution on 64 bit blocks with 56 bit keys 13.3.18 DES (i) is a symmetric key encryption method (ii) guarantees absolute security (iii) is implementable as hardware VLSI chip (iv) is a public key encryption method (a) i and ii (b) ii and iii (c) i and iii (d) iii and iv 13.3.19 DES using 56 bit keys (a) Cannot be broken in reasonable time using presently available computers (b)Can be broken only if the algorithm is known using even slow computers. (c) Can be broken with presently available high performance computers. (d)It is impossible to break ever. 13.3.20 Triple DES uses (a) 168 bit keys on 64-bit blocks of plain text (b) Working on 64-bit blocks of plain text and 56 bit keys by applying DES algorithm for three rounds. (c) Works with 144 bit blocks of plain text and applies DES algorithm once. (d) Uses 128 bit blocks of plain text and 112 bit keys and apply DES algorithm thrice. 13.3.21 Triple DES (a) Cannot be broken in reasonable time using presently available computers. (b)Can be broken only if the algorithm is known using even slow computer. (c) Can be broken with presently available high performance computers. (d) It is impossible to break ever. 13.3.22 Triple DES (i) is a symmetric key encryption method (ii) guarantees excellent security (iii) is implementable as a hardware VLSI chip (iv) is public key encryption method with three keys. 13.3.23 Public key encryption method is a system (a) which uses a set of public keys one for each participant in e-Commerce (b) in which each person who wants to communicate has two keys; a private key known to him only and a public key which is publicized to enable others to send message to him (c) which uses the RSA coding system (d) which is a standard for use in e-Commerce 13.3.24 Public key system is useful because (a) it uses two keys (b) there is no key distribution problem as public key can be kept in a commonly accessible database (c) private key can be kept secret (d) it is a symmetric key system 13.3.25 In public key encryption if A wants to send an encrypted message to B (a) A encrypts message using his private key (b) A encrypts message using B’s private key (c) A encrypts message using B’s public key (d) A encrypts message using his public key 13.3.26 In public key encryption system if A encrypts a message using his private key and sends it to B (a) if B knows it is from A he can decrypt it using A’s public key (b) Even if B knows who sent the message it cannot be decrypted (c) It cannot be decrypted at all as no one knows A’s private key (d) A should send his public key with the message 13.3.27 Message can be sent more securely using DES by (a) encrypting plain text by a different randomly selected key for each transmission (b) encrypting plain text by a different random key for each message transmission and sending the key to the receiver using a public key system (c) using an algorithm to implement DES instead of using hardware (d) designing DES with high security and not publicizing algorithm used by it 13.3.28 DES and public key algorithm are combined (i) to speed up encrypted message transmission (ii) to ensure higher security by using different key for each transmission (iii) as a combination is always better than individual system (iv) as it is required in e-Commerce (a) i and ii (b) ii and iii (c) iii and iv (d) i and iv 13.3.29 A digital signature is (a) a bit string giving identity of a correspondent (b) a unique identification of a sender (c) an authentication of an electronic record by tying it uniquely to a key only a sender knows (d) an encrypted signature of a sender 13.3.30 A digital signature is required (i) to tie an electronic message to the sender’s identity (ii) for non repudiation of communication by a sender (iii) to prove that a message was sent by the sender in a court of law (iv) in all e-mail transactions (a) i and ii (b) i, ii, iii (c) i, ii, iii, iv (d) ii, iii, iv 13.3.31 A hashing function for digital signature (i) must give a hashed message which is shorter than the original message (ii) must be hardware implementable (iii) two different messages should not give the same hashed message (iv) is not essential for implementing digital signature (a) i and ii (b) ii and iii (c) i and iii (d) iii and iv 13.3.32 Hashed message is signed by a sender using (a) his public key (b) his private key (c) receiver’s public key (d) receiver’s private key 13.3.33 While sending a signed message, a sender (a) sends message key using public key encryption using DES and hashed message using public key encryption (b) sends message using public key encryption and hashed message using DES (c) sends both message and hashed message using DES (d) sends both message and hashed message using public key encryption 13.3.34 The responsibility of a certification authority for digital signature is to authenticate the (a) hash function used (b) private keys of subscribers (c) public keys of subscribers (d) key used in DES 13.3.35 Certification of Digital signature by an independent authority is needed because (a) it is safe (b) it gives confidence to a business (c) the authority checks and assures customers that the public key indeed belongs to the business which claims its ownership (d) private key claimed by a sender may not be actually his LEARNING UNIT 4 13.4.1 The Secure Electronic Transaction protocol is used for (a) credit card payment (b) cheque payment (c) electronic cash payments (d) payment of small amounts for internet services 13.4.2 In SET protocol a customer encrypts credit card number using (a) his private key (b) bank’s public key (c) bank’s private key (d) merchant’s public key 13.4.3 In SET protocol a customer sends a purchase order (a) encrypted with his public key (b) in plain text form (c) encrypted using Bank’s public key (d) using digital Signature system 13.4.4 One of the problems with using SET protocol is (a) the merchant’s risk is high as he accepts encrypted credit card (b) the credit card company should check digital signature (c) the bank has to keep a database of the public keys of all customers (d) the bank has to keep a database of digital signatures of all customers 13.4.5 The bank has to have the public keys of all customers in SET protocol as it has to (a) check the digital signature of customers (b) communicate with merchants (c) communicate with merchants credit card company (d) certify their keys 13.4.6 In electronic cheque payments developed, it is assumed that most of the transactions will be (a) customers to customers (b) customers to business (c) business to business (d) banks to banks 13.4.7In cheque payment protocol, the purchase order form is signed by purchaser using (a) his public key (b) his private key (c) his private key using his signature hardware (d) various public keys 13.4.8 In the NetBill’s protocol for small payments for services available in the internet. (i) the customer is charged only when the information is delivered (ii) the vendor is guaranteed payment when information is delivered (iii) the customer must have a certified credit card (iv) the customer must have a valid public key (a) i, ii (b) i, ii, iii (c) i, ii, iii, iv (d) i, ii, iv 13.4.9 In NetBill’s protocol for small payments for internet services (i) Key to decrypt information is sent to customer by NetBill only when there is enough amount in debit account (ii) The vendor supplies the key to NetBill server when he receives payment (iii) Checksum of encrypted information received by customer is attached to his payment order (iv) Vendor does not encrypt information purchased by customer (a) i, ii (b) i, ii, iii (c) i, ii, iii, iv (d) i, ii, iv 13.4.10 In Electronic cash payment (a) a debit card payment system is used (b) a customer buys several electronic coins which are digitally signed by coin issuing bank (c) a credit card payment system is used (d) RSA cryptography is used in the transactions 13.4.11 In Electronic cash payment (i) a customer withdraws “coins” in various denominations signed by the bank (ii) the bank has a database of issued coins (iii) the bank has a database of spent coins (iv) the bank cannot trace a customer (a) i, ii (b) i, ii, iii (c) i, ii, iii, iv (d) ii, iii, iv KEY TO OBJECTIVE QUESTIONS 13.1.1 13.1.7 13.2.5 13.2.11 13.3.6 13.3.12 13.3.18 13.3.24 13.3.30 13.4.1 13.4.7 d a d b b c c b b a c 13.1.2 c 13.1.8 c 13.2.6 a 13.3.1 d 13.3.7 b 13.3.13 c 13.3.19 c 13.3.25 c 13.3.31 c 13.4.2 b 13.4.8 d 13.1.3 13.2.1 13.2.7 13.3.2 13.3.8 13.3.14 13.3.20 13.3.26 13.3.32 13.4.3 13.4.9 a c b c c b b a b d b 13.1.4 c 13.2.2 a 13.2.8 c 13.3.3 a 13.3.9 b 13.3.15 a 13.3.21 a 13.3.27 b 13.3.33 a 13.4.4 c 13.4.10 b 13.1.5 13.2.3 13.2.9 13.3.4 13.3.10 13.3.16 13.3.22 13.3.28 13.3.34 13.4.5 13.4.11 c b a c c b b a c a b 13.1.6 a 13.2.4 a 13.2.10 b 13.3.5 b 13.3.11 d 13.3.17 a 13.3.23 b 13.3.29 c 13.3.35 c 13.4.6 c System Analysis and Design / Electronic Commerce Motivation Motivation With the emergence of internet and the world wide web new methods of carrying out business transactions using the world wide web began to be explored. Electronic Commerce emerged as a very important application of the world wide web. Today it is difficult to find an isolated computer. Computers in an organization are interconnected to form intranets and intranets of the cooperating organizations are interconnected to form extranet. It is cheaper and faster to carry out business transactions within an organization and among organizations electronically using the network connection. Thus it is important to understand how business transactions are carried out electronically reliably and securely When designing information systems it is essential to understand the emerging web based transactions A number of organizations are exploring how to carry out all day-to-day operations electronically using the intranet in a so-called paperless system It is thus important for a student to understand how to design such systems V. Rajaraman/IISc. Bangalore //V1/July 04/1 MODULE 13 ELECTRONIC COMMERCE Learning Units 13.1 What is E-Commerce? 13.2 Electronic Data Interchange 13.3 Security of E-Commerce 13.4 Payment in E-Commerce Systems Analysis And Design © V. Rajaraman Learning Goals The basics of Electronic Commerce abbreviated as e-commerce The advantages and disadvantages of e-commerce Architecture of e-commerce systems Electronic Data Interchange in e-commerce The need for security in e-commerce transactions and how to ensure it How Electronic payment schemes work in e-commerce. Systems Analysis And Design © V. Rajaraman 1 of 92 Motivation With the emergence of internet and the world wide web new methods of carrying out business transactions using the world wide web began to be explored. Electronic Commerce emerged as a very important application of the world wide web. Today it is difficult to find an isolated computer. Computers in an organization are interconnected to form intranets and intranets of the cooperating organizations are interconnected to form extranet. Systems Analysis And Design © V. Rajaraman 2 of 92 Motivation (Contd) It is cheaper and faster to carry out business transactions within an organization and among organizations electronically using the network connection. Thus it is important to understand how business transactions are carried out electronically reliably and securely When designing information systems it is essential to understand the emerging web based transactions A number of organizations are exploring how to carry out all dayto-day operations electronically using the intranet in a so-called paperless system It is thus important for a student to understand how to design such systems Systems Analysis And Design © V. Rajaraman 3 of 92 What Is Electronic Commerce DEFINITION •Sharing Business Information, Maintaining Business relationships and conducting business transactions using computers connected to a Telecommunication Network is called E-Commerce CLASSIFICATION •CLASSIFIED AS : BUSINESS TO BUSINESS (B2B) BUSINESS TO CUSTOMER (B2C) CUSTOMER TO CUSTOMER (C2C) Systems Analysis And Design 13.1.1 © V. Rajaraman 4 of 92 E-commerce Applications-example •RETAIL STORES - Books, Music •AUCTION SITES •COOPERATING BUSINESSES –Placing orders,paying invoices etc. •ELECTRONIC BANKING •BOOKING TICKETS - TRAINS, CINEMA, AIRLINES •ELECTRONIC PUBLISHING •FILLING TAX RETURNS WITH GOVERNMENT DEPT. 13.1.2 Systems Analysis And Design © V. Rajaraman 5 of 92 Business To Business E-commerce LAN of buisness2 Public switched telephone network LAN of buisness1 PSTN or LEASED LINE Vendor Local computers Purchase store accounts Local computers • Local LAN of business would normally follow TCP/IP protocol of internet and is called corporate intranet • Purchase order entered by business1 in its PC and electronically dispatched to vendor (by e-mail) • Vendor acknowledges electronically the order • Vendor dispatches goods(physically) and delivery note electronically to business1 13.1.3 Systems Analysis And Design © V. Rajaraman 6 of 92 B2B E-commerce (Contd) •Business 1 can compare delivery note against order -both are in computer readable form •Discrepancy note(if any) can be immediately sent to the vendor •Business 1 can carry out all local transactions using its LAN •Local transactions are inventory update by stores - advice to accounts to pay for goods taken into stock • Accounts can make payment electronically to Vendor 13.1.4 Systems Analysis And Design © V. Rajaraman 7 of 92 Implementing B2B E-commercerequirements 1. Agreed on formats for Purchase order, delivery note, payment order etc. Standard known as EDI (Electronic Data Interchange Standard) is used to send documents electronically 2.Each Business must have corporate intranet and the two nets are connected by PSTN or leased line 3. Transactions must be secure - particularly if PSTN is used 4.Secure electronic payment methods are required 13.1.5 Systems Analysis And Design © V. Rajaraman 8 of 92 Steps In B2C E-commerce 1. Customer uses a browser and locates vendor or he has vendor's web page address 2. Sees Vendor's web page listing of items available, prices etc 3. Customer selects item and places order. Order may include credit card details or may be cash on delivery 4. Vendor checks with credit card company customer’s credit 5. Credit card company OKs transaction 6. Vendor acknowledges Customer’s order and gives details of delivery date, mode of transport, cost etc 7. Vendor orders with distributor who ships item to vendor's warehouse from where item supplied to customer 8. Customer's credit card company debits his account, credits vendor's account and sends bill to customer for payment 13.1.6 Systems Analysis And Design © V. Rajaraman 9 of 92 Customer to Customer E-Commerce Customer1 Wants to sell Item 1 Internet Customer2 Wants to buy Item 1 Broker’s website •Advertises - "for sale" •Brings together buyer and seller •Transports items •Collects fee from both Seller &Buyer 13.1.7 Systems Analysis And Design © V. Rajaraman 10 of 92 Advantages Of E-commerce 1. Buying/selling a variety of goods and services from one's home or business 2. Anywhere, anytime transaction 3. Can look for lowest cost for specific goods or service 4. Businesses can reach out to worldwide clients - can establish business partnerships 13.1.8 Systems Analysis And Design © V. Rajaraman 11 of 92 Advantages Of E-commerce 5. Order processing cost reduced 6. Electronic funds transfer faster 7. Supply chain management is simpler, faster, and cheaper using e-commerce - Can order from several vendors and monitor supplies. - Production schedule and inventory of an organization can be inspected by cooperating supplier who can in-turn schedule their work. 13.1.9 Systems Analysis And Design © V. Rajaraman 12 of 92 Disadvantages Of E-commerce 1. Electronic data interchange using EDI is expensive for small businesses 2. Security of internet is not very good - viruses, hacker attacks can paralise e-commerce 3. Privacy of e-transactions is not guaranteed 4. E-commerce de-personalises shopping.People go shopping to meet others - window shop and bargain 13.1.10 Systems Analysis And Design © V. Rajaraman 13 of 92 E-commerce System Architectures LOGICAL LAYERS Application layer Middleman services Secure messaging World wide web services Logical network Physical network SERVICES IN LAYER B2B,B2C,C2C Hosting services,value added nets payment services,Certificates Encryption,EDI,Firewalls HTTP,HTML,XML,OLE Software agents Intranet,internet,extranet PSTN,LAN,Bridges,routers Layered architecture 13.1.11 Systems Analysis And Design © V. Rajaraman 14 of 92 Electronic Data Interchange •Computer readable forms for business documents such as invoices, purchase orders, delivery notes needed in B2B ecommerce so that e-documents can be exchanged. •Essential to eliminate manual data entry which is error prone • Essential to agree on common formats for commonly used forms. •Electronic data interchange (EDI) standard gives specifications for commonly used standard business forms •Currently two standards are available for EDI forms • It is possible to adapt these standards for documents which use XML for specification. 13.2.1 Systems Analysis And Design © V. Rajaraman 15 of 92 EDI Standards •ANSI X.12 standard proposed by American National Standards Institute •EDIFACT (Electronic Data Interchange For Administration Commerce and Trade) standardized by United Nations Economic Commission for Europe for international trade •EDIFACT used in India for government transactions customs, central excise etc. 13.2.2 Systems Analysis And Design © V. Rajaraman 16 of 92 EDI Transactions in B2B E-commerce •Cooperating businesses agree on EDI standard •Programs needed to translate data received in EDI format to a form needed by the application program •Method of sending/receiving data between businesses to be agreed on - is it PSTN, Extranet or VAN (value added network) service ? •Important to ensure reliable, guaranteed and secure receipt of electronic documents by intended receiver © V. Rajaraman 13.2.3 Systems Analysis And Design 17 of 92 EDI Using Value Added Network Service •VAN provides post box for all subscribers •Guarantees delivery •Open 24 hours, 7 days a week •Provides security, acknowledgement, audit trails for transactions, non repudiation by users •Some VAN’S provide conversion of EDI forms to application format •Disadvantage high cost. Used by large businesses - may not be cost-effective for smaller businesses 13.2.4 Systems Analysis And Design © V. Rajaraman 18 of 92 EDI Using Internet • Cheaper method for use by small business is to use XML for EDI and e-mail,instead of VAN • Establish EDI form standard - XML appropriate – Document Type Definition(DTD) publicised using organization’s web pagecooperating business can use a DTD to interpret XML documents. •Use MIME (multipurpose internet mail extension) to attach EDI forms to e-mail messages 13.2.5 Systems Analysis And Design © V. Rajaraman 19 of 92 EDI Using Internet • Can use Simple Mail Transfer Protocol(SMTP) of internet • If secure transmission needed use S/MIME (Security enhanced MIME) which uses encryption and digital signature –(We will describe encryption and digital signature later in this module) • If very long document or many documents are to be sent together File Transfer Protocol (FTP) may be more appropriate. 13.2.6 Systems Analysis And Design © V. Rajaraman 20 of 92 EDI Standard •Defines several hundred transaction sets corresponding to each type of business document such as invoice, purchase order etc. •Defines data segments - corresponding to groups of data elements such as purchase order line •Defines data elements - which are individual fields such as price, quantity etc 13.2.7 Systems Analysis And Design © V. Rajaraman 21 of 92 Security In E-commerce •Transactions between organizations take place in many e-commerce applications using the Internet •Internet is widely accessible and insecure as eavesdropping is possible •Need to protect company confidential information from snoopers •We need to protect a company's network from unauthorised entry both hardware and software techniques used •When an organization receives a message it has to be sure from whom it came and whether the message is authentic and not changed by an unauthorised person •We thus need a digital signature which can be used in a court of law 13.3.1 Systems Analysis And Design © V. Rajaraman 22 of 92 Network Security Using Firewall •Firewall is a security device deployed at the boundary of an organization' s network to protect it from unauthorised external access •It links an organization's intranet to the internet and restricts the type of traffic that it will pass, thus providing security •Simple firewalls may be implemented in some routers, called packet filtering firewalls, they pass only some packets based on simple specified criteria such as -Type of access (such as email, ftp, telnet as determined by TCP port number) -Direction of traffic -Source or destination IP address -Time of day 13.3.2 Systems Analysis And Design © V. Rajaraman 23 of 92 Proxy Application Gateway •Primarily for allowing members of an organization on corporate intranet to access internet facility ensuring organizational discipline and security •Proxy application program running on a firewall machine is the one which acts on behalf of all members of an organization wanting to use the internet •This program monitors all requests - allows access to only designated addresses outside, limits use of certain browsers and disallows use of some protocols with known security holes •Proxy application program may also be allowed to run on some user's machine who have authorization for internet use Systems Analysis And Design 13.3.3 © V. Rajaraman 24 of 92 Hardened Firewalls With Proxy Application Gateway •Any one from inside or outside an organization give their user id, password, service required to the firewall machine which acts as one's proxy (ie.does ones work on his behalf) •Proxy firewall is now server to the requestor's desktop PC and also a client to some other requested service acting on requestor's behalf •Firewall needs proxy agent for each service requested such as FTP, HTTP, TELNET etc 13.3.4 Systems Analysis And Design © V. Rajaraman 25 of 92 Hardened Firewalls With Proxy Application Gateway •Now proxy firewall is the initiator of all sessions and thus knows every activity - thus ensuring security •Firewall with a proxy function replaces the source address of transaction requestor with its own IP address -this ensures that others on internet see only firewall's IP address - all other IP addresses of organization are hidden 13.3.5 Systems Analysis And Design © V. Rajaraman 26 of 92 Data Encryption With Secret Keys •Data sent via a public network may be accessed and used by unauthorized persons •Thus necessary to scramble it so that even if one accesses it, it cannot be understood •Similarly data stored in data bases accessible via internet should be scrambled •Method of scrambling known as encryption •Method of unscrambling known as decryption 13.3.6 Systems Analysis And Design © V. Rajaraman 27 of 92 Plain Text And Ciphertext •Plain text is data in its natural form •Encryption is taking data in any form(Text, Audio,Video etc.) and transforming it to another form which cannot be understood •Transformed data is known as cryptogram or cipher text 13.3.7 Systems Analysis And Design © V. Rajaraman 28 of 92 Example Text Encryption Start plaintext Block plaintext (5character blocks) Transpose characters with permutation (4 1 2 5 3) Substitute character by the one 4 letters away (eg A E,Z D) Cipher text This is an example of two transformations - permutation followed by substitution The keys are permutation function and substitution function WXLMM IWEWQ IXEBK THIS IS A MESSAGE X THISI SAMES SAGEX 4 1 STHII ESASM ESAXG 13.3.8 Systems Analysis And Design © V. Rajaraman 29 of 92 Symmetric Encryption. PLAINTEXT (m1,m2…mn ) CIPHER TEXT (c1 c2, c3….cn ) Where ci = k( Ti (mi) ) In which Ti is permutation of ith character and k is substitution. •Decryption by applying same transformations in reverse on cipher text. •This method called symmetric key encryption as encryption and decryption performed using same key. •Normally the encryption/decryption algorithm is publicised. Only key is secret. 13.3.9 Systems Analysis And Design © V. Rajaraman 30 of 92 Symmetric Encryption • Problem is to ensure secrecy of key when it is sent to partner. • If the key is to be sent to many partners need for separate key for each partner.Directory of who was sent which key is to be kept and used for each transaction.Directory should be secure. • If large number of partners are there key distribution very difficult. • Advantage of symmetric key is easy and fast to transform plain text to cipher text. 13.3.10 Systems Analysis And Design © V. Rajaraman 31 of 92 Digital Encryption Standard DES - Proposed by IBM in 1975 Standardised by US Govt in 1977 Reasonably secure It is a combination of permutation and substitution on blocks of 64 bits. A message is broken up into 64 bit blocks and each block is separately encrypted. 13.3.11 Systems Analysis And Design © V. Rajaraman 32 of 92 Digital Encryption Standard #General idea used in DES M = PLAINTEXT 01101100 K = KEY E= M+K M= E + K 10101111 11000011 01101100 11011000 00101100 11110100 11011000 11011010 01011011 10000001 encryption 11011010 decryption See simplicity of Transformation using Exclusive OR 13.3.12 Systems Analysis And Design © V. Rajaraman 33 of 92 Digital Encryption Standard Algorithm Before applying DES the text is split up into the 64 bit blocks. DES applied on each 64 bit block. Encryption method Step 1: Apply an initial permutation on a block.Result is B=IP(P) where P is the 64 bit block IP Initial Permutation function and B the result. Step 2: Split B into 32 bit blocks Li = leftmost 32 bits Ri = rightmost 32 bits. Step 3: Pick a 56 bit key. Permute it Step 4: Left circular shift it by 1 bit giving K1. 13.3.13 Systems Analysis And Design © V. Rajaraman 34 of 92 Digital Encryption Standard Algorithm Step 5: Perform a complex sequence of operations and obtain X1 = F(R1,K1) (The complex set of operations include table look up and dropping bits). Step 6: Find R2 = L1 + X1 Step 7: Set L2 = R1 Repeat steps 2 to 7 16 times to get B16 = L16,R16 Step 8: Apply inverse of initial permutation on B16 The result is the encrypted block 13.3.14 Systems Analysis And Design © V. Rajaraman 35 of 92 Digital Encryption Standard Algorithm • In summary the DES encryption applies the following transformation 16 times.The ith round transformation are Li+1= Ri Ri+1= Li + F(Ri,Ki) • Each round has a different key Ki • For Decryption the process of encryption is reversed.The encrypted block is permuted using IP-1.On this transformations are applied starting with K16 and going to K1 last.The keys and F are same as those used in encryption process. 13.3.15 Systems Analysis And Design © V. Rajaraman 36 of 92 Digital Encryption Standard Algorithm • The encryption process uses simple binary operations. They can thus be realised in hardware as an integrated circuit chip. • DES chips are inexpensive. Key externally fed. • The complex encryption algorithm is explained using two block diagrams in the next two transparencies. 13.3.16 Systems Analysis And Design © V. Rajaraman 37 of 92 64 bit block of plain text DES Encryption Block Diagram 56 bit key IP L1 R1 F Initial Permutation Permute K1 P1 Left circular shift R O U N D 1 R O U N D 2 + L2 R2 L1 + F(R1,K1) Permute F K2 P2 . . . . P16 + L3 . . . . L2 + F(R2,K2) K16 R3 + . . . . . Left circular shift Left circular shift L16 IP-1 R16 Inverse of Initial permutation (F is a complex function involving two table look ups and dropping bits of K1 to get 32 bits for bitwise Exclusive OR of L1 and F(K1,R1) ) 64 bit Cipher text 38 of 92 Details of One Round of DES Encryption 64 bit Plain Text Permute 32 bits 32 bits L1 R1 L1 K1 Permute and Contract 56-bit key Permute 28 bits 28 bits KL KB Left Shifts Round1 F(R1,K1) + L2 . . . . R2 48 bits KL KB For next key Repeat 15 more times 13.3.18 Systems Analysis And Design © V. Rajaraman 39 of 92 DES Chip 64 Input block Key 56 DES CHIP 64 Encrypted Block • Observe that from initial key others are derived by circular shifts • Decryption chip inputs encrypted block and key and the output is decrypted block 13.3.19 Systems Analysis And Design © V. Rajaraman 40 of 92 DES - Discussion • Cryptanalysis is technique for breaking a code, given samples of encrypted messages. • If plain text also known it is somewhat easier. • DES code can be broken if key is found. • The easiest method of breaking a code is by brute force of trying out all possible keys to decrypt message. 13.3.20 Systems Analysis And Design © V. Rajaraman 41 of 92 DES - Discussion • With increase in speed of computers it has now been shown that DES key can be found in less than 12 hrs with a fast computer (1 Million decryption per microsecond) • Thus DES is practically useless now (original DES was invented in mid 70s) • New more secure symmetric encryption algorithm is needed • An extension of DES called triple DES is shown to be more secure. 13.3.21 Systems Analysis And Design © V. Rajaraman 42 of 92 Triple DES • Triple DES uses three different keys and three executions of DES algorithm. • The algorithm is Cipher text = Ek3 [Dk2 [Ek1 [Plain Text]]] where Ek[X] = DES Encryption of X using key K and Dk[X] = DES Decryption of X using key K • Remember that in DES Decryption of encrypted plain text with a different key is almost same as another encryption. •This is true as encryption and decryption use the same algorithm 13.3.22 Systems Analysis And Design © V. Rajaraman 43 of 92 Triple DES • To decrypt cipher text we reverse the operations. Plain text = Dk1[Ek2 [Dk3[Cipher Text]]] BLOCK DIAGRAMS OF TRIPLE DES Encryption K1 K2 K3 Plain text (64 bit block) E K3 D Decryption K2 E K1 Cipher text (64bit block) Cipher text E D E © V. Rajaraman Plain text 13.3.23 Systems Analysis And Design 44 of 92 Triple DES(Contd) • Using DES thrice is equivalent to having a DES key length of 168 bits. • Brute force method to break triple DES with 106 decrypts per micro second will take 5.9 X 10 30 years! • Even at 1012 fold increase in computer speed will make triple DES secure against brute force attacks to break code • The only reason D is used as middle step in triple DES is to allow data encrypted using single DES hardware.In this case K3=K2=K1 (Single key used) (See block diagram) 13.3.24 Systems Analysis And Design © V. Rajaraman 45 of 92 Triple DES(Contd) • Triple DES will be quite popular for a foreseeable future as it is very secure, can be realised by simple hardware. • Triple DES has two disadvantages 1. It is slow to implement in software 2. It uses 64 bit blocks. • Thus new standards were explored. 13.3.25 Systems Analysis And Design © V. Rajaraman 46 of 92 Requirements of Symmetric Key Cryptography Algorithm(NIST) –Advanced Encryption System(AES) • National Institute for Standards Technology put out a call for proposals for new crypto system with following requirements. • Must provide a high level of security (i.e. difficult to decrypt in finite time) • Must be completely specified and easily understood. • Security must reside in key – Not in algorithm 13.3.26 Systems Analysis And Design © V. Rajaraman 47 of 92 Requirements of Symmetric Key Cryptography Algorithm(NIST) –Advanced Encryption System(AES) • Must be available for all users • Adaptable for use in diverse applications e.g.credit cards • Implementable economically in electronic devices • Must be efficient to use as both software and hardware • Must allow one to validate it. 13.3.27 Systems Analysis And Design © V. Rajaraman 48 of 92 Requirements of Symmetric Key Cryptography Algorithm(NIST) –Advanced Encryption System(AES) • Must be exportable • No trap door • Must use 128 blocks and key lengths of 128,192 or 256 bits depending on the level of security desired. • In October 2000 it announced the selection of an algorithm – called Rijin dael(Pronounce RAIN DOLL) as new Advance Encryption Standard (AES) •Details may be found in www.nist.gov/aes 13.3.28 Systems Analysis And Design © V. Rajaraman 49 of 92 Public Key Encryption •In Private Key Encryption transmission of key without compromising not easy •It is necessary to assign different private key to each business partner. When this is done a directory of keys should be kept which should be secret.This is difficult. •Only secure way is to change the private key every time a message is sent •Public Key Encryption eliminates the key distribution problem •There is a pair of keys for each organization - A Private Key and its Public Key •If A wants to send message to B, A encrypts the message with B's Public Key When message is received by B he decrypts it with his Private Key A Plain text ENCRYPT Cipher text B’s Public Key DECRYPT B’s Private Key Plain text B SENDER A 13.3.29 Systems Analysis And Design RECEIVER B © V. Rajaraman 50 of 92 RSA Code Details.”R” Wants To Find His Public And Private Keys 1. Pick large primes p and q. Let n =p * q 2 Find ø = (p-l)*(q-l) 3 Find e relatively prime to Ø, i.e. gcd(ø,e)=1; 1<e<ø. {e,n} is R's Public Key 4 Find a number d which satisfies relation (d * e) mod (ø) =1 {d,n} is R’s Private key 13.3.30 Systems Analysis And Design © V. Rajaraman 51 of 92 RSA Code Details.”R” Wants To Find His Public And Private Keys 5. Let plain text = t. Encrypt t using R’s public key. Encryption = te (mod n) = c (cipher text) 6. Decryption cd (mod n) =t (Both n and e should be known to encrypt.Similarly both n and d should be known to decrypt) 13.3.31 Systems Analysis And Design © V. Rajaraman 52 of 92 Example Of RSA Use • This example is a toy example to illustrate the method.In practice the primes p and q will be very large – each at least 300 digits long to ensure security. RSA Algorithm 1. Pick as prime numbers p=3,q=11 n = p * q=33 Note : The message to be encrypted should be smaller than 33.If we do letter by letter encryption of English alphabets (A to Z 1 to 26) this is OK 2. Ø = (p-1) x (q-1) = 2 x 10 = 20 13.3.32 Systems Analysis And Design © V. Rajaraman 53 of 92 Example Of RSA Use RSA Algorithm (Contd) 3. Pick a number relatively prime to 20. We pick 7. The Public key of R = {7,33} 4. To pick private key of R find d from relation (d x e)mod(ø) = 1 (d x 7) mod (20) =1 This gives d =3 Therefore, the private key of R = {3,33} 13.3.33 Systems Analysis And Design © V. Rajaraman 54 of 92 Applying RSA Algorithm 1. Let the message be CODE If we use code C=3, O=14,D=4,E=5 The message is 3,14,4,5 2. We will encrypt one letter at a time Thus cipher of plain text 3 is 3e mod (n) =37 mod(33) 37 mod (33) =2187 mod (33)=9 (14)7 mod (33) = 105413504mod(33)=20 (4)7 mod (33) =16384 mod (33) =16 (5)7 mod (33) =78125 mod(33) = 14 3. Thus cipher text = 9,20,16,14 13.3.34 Systems Analysis And Design © V. Rajaraman 55 of 92 Applying RSA Algorithm 4. Decryption : cd mod (n) d=3,n=33 93 mod (33) = 729 mod(33) = 3 203 mod(33) = 8000 mod(33)=14 163 mod(33) = 4096 mod(33) =4 143 mod(33) = 2744 mod(33) =5 We see that we get the original text 3,14,4,5 13.3.35 Systems Analysis And Design © V. Rajaraman 56 of 92 Discussion on RSA • The security RSA encryption is dependent on the fact that factorising a large prime number to its factors is very difficult. • RSA algorithm is symmetric.In other words if a plain text is encoded by the private key of S, the sender, it can be decrypted using the public key of R, the receiver (We will find later that this symmetry property is used in creating digital signature) •Example using S’s keys S’s Private key = {3,33} S’s Public key = {7,33} 13.3.36 Systems Analysis And Design © V. Rajaraman 57 of 92 Discussion on RSA • If we encrypt a plain text using S’s private key and send it to R,R must be able to decrypt it with S’s public key. •Assume Plain text is encrypted with S’s private key and get cipher text = (14)3 mod (33)=5 •Decrypting with S’s Public key we get (5)7 mod (33) =78125 mod(33) ={(2367 x 33) + 14} mod (33) =14 13.3.37 Systems Analysis And Design © V. Rajaraman 58 of 92 DISCUSSION – RSA Vs DES •RSA Public key has two keys – a private secret key and a public open key. •RSA implemented as a program (software) It is computationally complex to encode plain text and decode cipher text using RSA •DES Same key for encryption and decryption It is a single key system - Also called symmetric key system 13.3.38 Systems Analysis And Design © V. Rajaraman 59 of 92 DISCUSSION – RSA Vs DES •DES computationally simple-implemented in hardware thus very fast •Each communication between two businesses can use a different key –provided key is securely exchanged •If key can be sent separately encrypted using RSA, then a recipient can use this to decrypt DES encrypted message. •We look next at combining DES and RSA. 13.3.39 Systems Analysis And Design © V. Rajaraman 60 of 92 Combining RSA And DES KEY ENCRYPT Public key Of the receiver DECRYPT Private key Of the receiver RECOVERED KEY SENDER PLAIN TEXT RECEIVER PLAIN TEXT DES CIPHER TEXT DES Advantages: • Key is sent along with the plain text. Encrypted using RSA • Key small-fast to encrypt/decrypt • Each transaction using DES can have a different key- higher security and also fast.Key directory not needed. 13.3.40 Systems Analysis And Design © V. Rajaraman 61 of 92 Digital Signature REQUIREMENTS •Needed to ensure that a message received from say "A" is indeed from him •Signature should be tied to the message sent by "A" SENDING STEP •Sender sends key using RSA system •Sender sends plain text "M" using DES •Receiver decrypts cipher text using DES and the key received from sender call it "MR" 13.3.41 Systems Analysis And Design © V. Rajaraman 62 of 92 Digital Signature •Sender hashes plain text "M' using a hashing function - let the hashed text be "H" •Hashed text "H" encrypted by sender using his Private key •DS is his signature as H encrypted with his private key •DS decrypted by receiver using sender's Public key and obtains "H" 13.3.42 Systems Analysis And Design © V. Rajaraman 63 of 92 Digital Signature (Contd) Authentication step •Receiver hashes “MR" using hash function and gets“HR" •Receiver compares “H" with “HR" •If they match then it is a signed authenticated plain text •TM is signed as sender has encrypted the hashed text using his private key which he only knows.If H=(MR)(HASHED) = HR where MR is the received message then MR must have been sent by sender. He cannot repudiate. 13.3.43 Systems Analysis And Design © V. Rajaraman 64 of 92 Signing A Message Using Digital Signature R’s Private key K KE R’s Public key DECRYPT K ME Forgery ENCRYPT K SENDER M ENCRYPT DECRYPT MR no RECEIVER DS Hash H ENCRYPT S’s Private key DECRYPT H Equal HR yes Hash S’s Public key Signature OK Accept M 13.3.44 Systems Analysis And Design © V. Rajaraman 65 of 92 Certificate Authority For Digital Signature •As the hashed message in Digital Signature system is decrypted using senders public key,this key must be certified as belonging to sender by an independent authority •Certification needed to ensure authenticity of public keys of organizations as public key is used to verify signature •Certification authority keeps data base of public keys of organizations participating in e-commerce after verifying their credentials. •Potential business partners can authenticate public keys by sending request to certifying authority who certifies after receiving a fee for his services 13.3.45 Systems Analysis And Design © V. Rajaraman 66 of 92 Electronic Payment Systems • In any commercial transaction payment is an integral part for goods supplied. •Four types of payments may be made in e-commerce they are •Credit card payments •Electronic cheque payments •Micro or small payments for internet based services such as music download. •Electronic-cash payments Each of these requires a different system of payment. We will examine first credit card payments. 13.4.1 Systems Analysis And Design © V. Rajaraman 67 of 92 Review Of Manual Credit Card Payment Four parties are invoked in credit card payments. They are: • Customer having a credit card • Merchant accepting credit cards (such as VISA, MASTER CARD etc) • Bank which issues credit cards to customers and collects payments from customers 13.4.2 Systems Analysis And Design © V. Rajaraman 68 of 92 Review Of Manual Credit Card Payment •Acquirer which is financial institution that establishes an account with a merchant,validates credit card information sent electronically by merchant and authorises sale based on customer’s credit status. • Acquirer accepts credit cards of several card companies and guarantees payment to merchants. •Acquirer gets reimbursed by bank issuing credit card. 13.4.3 Systems Analysis And Design © V. Rajaraman 69 of 92 Sequence Of Transactions In Manual Credit Card Payment Step 1: Customer presents credit card after purchase. Merchant swipes it on his special phone and enters amount Step 2: Data from merchant’s terminal goes to acquirer via a private telephone line Step 3: Acquirer checks with the issuing bank validity of card and credit-available 13.4.4 Systems Analysis And Design © V. Rajaraman 70 of 92 Sequence Of Transactions In Manual Credit Card Payment Step 4: Acquirer authorizes sale if all OK and sends approval slip which is printed at merchant’s terminal. Step 5: Merchant takes customer’s signature on the slip-verifies it with the signature on card and delivers the goods. Step 6: The acquirer pays the money to merchant and collects it from the appropriate issuing bank. The bank sends monthly statement to customer and collects outstanding amount. 13.4.5 Systems Analysis And Design © V. Rajaraman 71 of 92 Block Diagram Of Steps In Credit Card Transaction Step1 Customer Step5 Step 4 Merchant Step2 Step6 Acquirer Step6 Step3 Step3 Issuing bank Steps correspond to that given in previous 2 PPT’s 13.4.6 Systems Analysis And Design © V. Rajaraman 72 of 92 Credit Card In E-commerce Main Problems 1. Main Problem is: if a merchant had only a web presence, a Customer needs to be reassured that the merchant is genuine. 2. Customers Signature cannot be physically verified.Customer needs electronic signature. 3. Secrecy of credit card number has to be ensured. 4. Dispute settlement mechanism must be worked out. 13.4.7 Systems Analysis And Design © V. Rajaraman 73 of 92 Secure Electronic Transaction Protocol • • Standardised credit card payments in e-commerce by major card companies such as Visa, MasterCard etc. To use SET protocol it is assumed that 1. Each party involved in e-commerce transaction has a public and private key.A public key encryption is used. 2. All parties have their public keys certified. 3. A standard hashing algorithm is used to create message digest for signature verification. 13.4.8 Systems Analysis And Design © V. Rajaraman 74 of 92 Secure Electronic Transaction Protocol Main Features • Customers credit card number is not revealed to a merchant. It is revealed only to the acquirer who authorises payment. Purchase invoice details are not revealed to the acquirer.Only the credit card number and total amount are revealed to him Purchase invoice + credit card number is digitally signed by the customer.In case of a dispute an arbitrator can use this to settle the dispute. (Computer protocol runs to 262 pages and may be found in www.ibm.com/redbook/SG244978) Systems Analysis And Design • • 13.4.9 © V. Rajaraman 75 of 92 Secure Electronic Transaction Protocol DUAL SIGNATURE SCHEME • Dual signature scheme is an innovation in SET protocol Steps followed in the protocol are: 1. Customer purchase information has 3 parts (i) Purchase Order (PO) (ii) Credit Card Number(CCN) (iii) Amount to be paid 2. Merchant should know (PO + Amount)=POA 3. Acquirer should know (CCN+Amount)=CCA 13.4.10 Systems Analysis And Design © V. Rajaraman 76 of 92 Secure Electronic Transaction Protocol 4. Hash POA using standard Hash algorithm such as RSA’s MD5.Call it POD. 5. Hash CCA using MD5. Call it CCD 6. Concatenate POD and CCD.Call it (POD||CCD) 7. Hash (POD||CCD) giving PPD 13.4.11 Systems Analysis And Design © V. Rajaraman 77 of 92 Secure Electronic Transaction Protocol 8. PPD is encrypted using Private key of customer.This is customer’s digitally signed purchase order DS = Encrypt (PPD) with CPRK CPRK is Private key of customer. This is sent to merchant by customer.DS is called Dual Signature as a private key is used to sign two separate digests concatenated together. 9. POA separately encrypted by customer using merchant’s public key and sent to merchant 10. Merchant decrypts it using his private key.He thus gets Purchase order +Amount 13.4.12 Systems Analysis And Design © V. Rajaraman 78 of 92 Secure Electronic Transaction Protocol 11. CCD and DS also sent to merchant. From CCD merchant cannot find CCN. 12. Merchant can decrypt DS using customer’s public key and get PPD. Customer must have a certified public key for verification. 13. Merchant can compute H(POD||CCD) If H(POD||CCD)=PPD,then customer’s signature is OK. 14. Merchant forwards to acquirer CCA,POD,DS each separately encrypted using acquirer’s public key. 13.4.13 Systems Analysis And Design © V. Rajaraman 79 of 92 Secure Electronic Transaction Protocol 15. Acquirer’s forwards to bank. 16.Bank finds CCN and Amount.Verifies balance amount.Bank also verifies customer’s digital signature using CCD,POD and DS.If all OK acquirer is informed. 17. Acquirer OK’s transaction to merchant 18. Merchant supplies item.Gets payment from acquirer.Bank collects from customer. 13.4.14 Systems Analysis And Design © V. Rajaraman 80 of 92 Dual Signature System To Merchant C U S T O M E R P.O+Amount POA Hash POD Concatenate Hash POD||CCD PPD Encrypt DS Dual signature C.C No + Amount CCA Hash CCD To Bank POA: (Purchase Order + Amount) POD: Purchase Order Digest CCA: (Credit card + Amount) CCD: (Credit card + Amount)Digest || : Concatenation operator which strings together POD and CCD PPD : Purchase Payment Digest CPRK: Private Key of Customer Private key Of customer CPRK 13.4.15 Systems Analysis And Design © V. Rajaraman 81 of 92 Secure Electronic Transaction Protocol - Step1 : [(POA)EM + (CCA)EB + CCD +DS] to Merchant - Step2 : Merchant sends [(CCA)EB + DS + POD] to Acquirer - Step3 : Acquirer sends (CCA)EB + DS +POD to Bank. - Bank finds (CC No. + amount) sees if OK Computes H(CCD||POD) Decrypts DS with customer’s public key If (DS)CPK = H(CCD || POD) Signature verified - Step4 : OK to acquirer if credit and signature OK - Step5 : Ok to Merchant Merchant finds H(H(POA) || CCD)=PPD Decrypts DS with public key of customer.If match signature verified. - Step6 : Sends delivery details - Step7 : Bill to customer 13.4.16 Systems Analysis And Design © V. Rajaraman 82 of 92 Secure Electronic Transaction Protocol Merchant Step 1 Step5 Step2 Step6 Customer Acquirer Step 7 Step3 Step4 Bank 13.4.17 Systems Analysis And Design © V. Rajaraman 83 of 92 Secure Electronic Transaction Protocol Step1: Customer fills Purchase order, amount and credit card number in his PC. A software in PC strips it into two parts Purchase Order + Amount (POA), Credit Card No. + Amount(CCA) POA is encrypted using merchants. Public key and CCA with bank’s public key.These are sent with customer’s public key certificates, CCD and DS. Merchant verifies DS. Step2: Merchant forwards to acquirer DS and CCD (These are encrypted using acquirer’s public key) Step3: Acquirer forwards to bank. Bank decrypts CCA with its private key.Checks validity of credit card and balance. If OK informs acquirer 13.4.18 Systems Analysis And Design © V. Rajaraman 84 of 92 Secure Electronic Transaction Protocol Step4: Acquirer OK’s transaction to merchant and credits merchant's account. Step5: Merchant accepts customer’s order and proceeds to dispatch items. Step6: At the end of the month bank sends bill to customer. (All these done by clicks of mouse button) 13.4.19 Systems Analysis And Design © V. Rajaraman 85 of 92 Electronic Cheque Payment •Most cheque based transactions will be between businesses -thus special hardware attached to PC’s for signing payments •Signature encrypted by hardware •All public keys of business partners authenticated by certifying agencies Steps in transaction 1 Purchaser sends purchase order and payment advice signed with his private key to vendor.He also sends his public key certificate encrypted with vendor's public key to vendor 2 Vendor decrypts with his private key, checks certificate and cheque, attaches deposit slip, encrypts with bank's public key and sends it to bank. he also sends his public key certificate 3 Bank checks signatures, credits and clears cheque 4 Credit advice goes to vendor,& consolidated debit advice sent to purchaser periodically 13.4.20 Systems Analysis And Design © V. Rajaraman 86 of 92 Clearing Cheque Payment Electronically Purchaser Order form Signature Card Order Debit Advice Cheque Signature Certificate Secure Envelope Purchaser’s Bank Clearing House Vendor’s Bank Deposit Cheque Vendor Signature Card Credit Advice Deposit slip Cheque Signature Certificates Endorsement Certificate 87 of 92 13.4.21 Systems Analysis And Design © V. Rajaraman Payments Of Small Amounts On Internet NETBILL'S PROPRIETARY SYSTEM •Customer charged only when information delivered •Vendor guaranteed payment when information delivered •Netbill is the intermediary MAJOR STEPS •When customer accepts quote for information, vendor sends encrypted information without key to customer •Payment order sent to vendor with checksum of information obtained. It is signed by customer •Vendor sends to NET BILL copy of purchase order and the key for decryption •NET BILL checks credit of customer. If ok it sends key to customer. Credits vendor account and debits customer account. Key sent to customer to decrypt information •Customer decrypts information 13.4.22 Systems Analysis And Design © V. Rajaraman 88 of 92 Paying for Small Internet Transactions 1 2 3 4 Customer Vendor 7 1. 2. 3. 4. 5. 6. 7. Request for information. Quote Order Encrypted Text Customer Bill+key Ok to vendor Key to customer 5 Net Bill’s Server 6 Customer’s Bank Credit in Account Net Bill’s Server Batch Payment Vendor’s Bank 13.4.23 Systems Analysis And Design © V. Rajaraman 89 of 92 Electronic Cash •Cash for small payments •Cash preserves anonymity •Cash should not be traceable We will discuss only traceable cash payments STEPS 1.Customer withdraws coins in various denominations signed by bank STRUCTURE------> serial no, denomination, signature of bank Bank stores issued coins copy 2.Customer pays vendor using signed coins 3.Bank checks whether it is current or spent 4.If current it authorises dispatch of goods and credits vendor account with electronic coins 13.4.24 Systems Analysis And Design © V. Rajaraman 90 of 92 Electronic Cash(contd) • Cheaper than credit card transaction • DES normally used for these transaction as it is cheap and amounts involved is small 13.4.25 Systems Analysis And Design © V. Rajaraman 91 of 92 Electronic Cash Payment Amt 10 5 ID 1568 6789 Signature 86ABC 86ABC 1 5 Customer 2 4 Yes Vendor 3 OK? Bank 1. 2. 3. 4. 5. Withdraw Pay Check if OK Replying OK Accept order Spent Amt Coins ID . . . . 13.4.26 Systems Analysis And Design © V. Rajaraman 92 of 92 MODULE 13 ELECTRONIC COMMERCE Contents 1. MOTIVATION AND LEARNING GOALS 2. LEARNING UNIT 1 What is E-Commerce? 3. LEARNING UNIT 2 Electronic Data Interchange 4. LEARNING UNIT 3 Security of E-Commerce 5. LEARNING UNIT 4 Payment in E-Commerce 6. REFERENCES ELECTRONIC COMMERCE Motivation With the emergence of internet and the world wide web new methods of carrying out business transactions using the world wide web began to be explored. Electronic Commerce emerged as a very important application of the world wide web. Today it is difficult to find an isolated computer. Computers in an organization are interconnected to form intranets and Intranets of the cooperating organizations are interconnected to form extranet. It is cheaper and faster to carry out business transactions within an organization and among organizations electronically using the network connection. Thus it is important to understand how business transactions are carried out electronically reliably and securely. When designing information systems it is essential to understand the emerging web based transactions. A number of organizations are exploring how to carry out all day-to-day operations electronically using the intranet in a so-called paperless system. It is thus important for a student to understand how to design such systems. Learning Goals At the end of this module you will know: The basics of Electronic Commerce abbreviated as e-commerce The advantages and disadvantages of e-commerce Architecture of e-commerce systems Electronic Data Interchange in e-commerce The need for security in e-commerce transactions and how to ensure it How Electronic payment schemes work in e-commerce. LEARNING UNIT 1 What is E-Commerce? DEFINITION Sharing business information, maintaining business relationships and conducting business transactions using computers connected to a telecommunication network is called E-Commerce CLASSIFICATION CLASSIFIED AS : BUSINESS TO BUSINESS (B2B) BUSINESS TO CUSTOMER (B2C) CUSTOMER TO CUSTOMER (C2C) E-commerce Applications-example •RETAIL STORES - Books, Music •AUCTION SITES •COOPERATING BUSINESSES –Placing orders, paying invoices etc. •ELECTRONIC BANKING •BOOKING TICKETS - TRAINS, CINEMA, AIRLINES •ELECTRONIC PUBLISHING •FILLING TAX RETURNS WITH GOVERNMENT DEPT. Business To Business E-commerce LAN of buisness2 Public switched telephone network LAN of buisness1 PSTN or LEASED LINE Vendor Local computers Purchase store accounts Local computers • Local LAN of business would normally follow TCP/IP protocol of internet and is called corporate intranet • Purchase order entered by business1 in its PC and electronically dispatched to vendor (by e-mail) • Vendor acknowledges electronically the order • Vendor dispatches goods (physically) and delivery note electronically to business1 •Business 1 can compare delivery note against order -both are in computer readable form •Discrepancy note(if any) can be immediately sent to the vendor(business 2) •Business 1 can carry out all local transactions using its LAN •Local transactions are inventory update by stores - advice to accounts to pay for goods taken into stock • Accounts can make payment electronically to Vendor Implementing B2B E-commerce-requirements 1.Agreed on formats for Purchase order, delivery note, payment order etc. Standard known as EDI (Electronic Data Interchange Standard) is used to send documents electronically. 2.Each Business must have corporate intranet and the two nets are connected by PSTN or leased line. 3.Transactions must be secure - particularly if PSTN is used. 4.Secure electronic payment methods are required. Steps In B2C E-commerce 1. Customer uses a browser and locates vendor or he has vendor's web page address 2. Sees Vendor's web page listing of items available, prices etc 3. Customer selects item and places order. Order may include credit card details or may be cash on delivery 4. Vendor checks with credit card company customer’s credit 5. Credit card company OKs transaction 6. Vendor acknowledges Customer’s order and gives details of delivery date, mode of transport, cost etc 7. Vendor orders with distributor who ships item to vendor's warehouse from where item supplied to customer 8. Customer's credit card company debits his account, credits vendor's account and sends bill to customer for payment. Customer to Customer E-Commerce Customer 1 Internet Customer 2 Wants to sell Item 1 Broker’s website Wants to buy Item 1 •Advertises - "for sale" •Brings together buyer and seller •Transports items •Collects fee from both Seller &Buyer Advantages Of E-commerce 1. Buying/selling a variety of goods and services from one's home or business 2. Anywhere, anytime transaction 3. Can look for lowest cost for specific goods or service 4. Businesses can reach out to worldwide clients - can establish business partnerships 5. Order processing cost reduced 6. Electronic funds transfer faster 7. Supply chain management is simpler, faster, and cheaper using ecommerce - Can order from several vendors and monitor supplies. - Production schedule and inventory of an organization can be inspected by cooperating supplier who can in-turn schedule their work. Disadvantages Of E-commerce 1. Electronic data interchange using EDI is expensive for small businesses 2. Security of internet is not very good - viruses, hacker attacks can paralise e-commerce 3. Privacy of e-transactions is not guaranteed 4. E-commerce de-personalises shopping. People go shopping to meet others - window shop and bargain E-commerce System Architectures LOGICAL LAYERS Application layer Middleman services SERVICES IN LAYER B2B,B2C,C2C Hosting services, value added nets payment services, Certificates Encryption, EDI, Firewalls HTTP, HTML, XML, OLE Software agents Intranet, internet, extranet PSTN, LAN, Bridges, routers Layered architecture Secure messaging World wide web services Logical network Physical network LEARNING UNIT 2 Electronic Data Interchange •Computer readable forms for business documents such as invoices, purchase orders, delivery notes needed in B2B e-commerce so that edocuments can be exchanged. •Essential to eliminate manual data entry, which is error prone •Essential to agree on common formats for commonly used forms. •Electronic data interchange (EDI) standard gives specifications for commonly used standard business forms •Currently two standards are available for EDI forms •It is possible to adapt these standards for documents which use XML for specification. EDI Specification Defines several hundred transaction sets corresponding to each type of business document such as invoice, purchase order etc. Defines data segments - corresponding to groups of data elements such as purchase order line. Defines data elements - which are individual fields such as price, quantity etc EDI Standards •ANSI X.12 standard proposed by American National Standards Institute •EDIFACT (Electronic Data Interchange For Administration Commerce and Trade) standardized by United Nations Economic Commission for Europe for international trade •EDIFACT used in India for government transactions - customs, central excise etc. EDI Transactions in B2B E-commerce •Cooperating businesses agree on EDI standard. •Programs needed to translate data received in EDI format to a form needed by the application program. •Method of sending/receiving data between businesses to be agreed on - is it PSTN, Extranet or VAN (value added network) service? •Important to ensure reliable, guaranteed and secure receipt of electronic documents by intended receiver. EDI Using Value Added Network Service VAN provides post box for all subscribers, guarantees delivery and is open 24 hours, 7 days a week. Provides security, acknowledgement, audit trails for transactions, non repudiation by users. Some VAN’S provide conversion of EDI forms to application format. Disadvantages are it has high cost, that may not be cost-effective for smaller businesses EDI Using Internet Cheaper method for use by small business is to use XML for EDI and email, instead of VAN. Establish EDI form standard - XML appropriate – Document Type Definition (DTD) publicised using organization’s web page-cooperating business can use a DTD to interpret XML documents. Use MIME (multipurpose internet mail extension) to attach EDI forms to email messages. Can use Simple Mail Transfer Protocol (SMTP) of internet If secure transmission needed use S/MIME (Security enhanced MIME) which uses encryption and digital signature –(We will describe encryption and digital signature later in this module). If very long document or many documents are to be sent together File Transfer Protocol (FTP) may be more appropriate. LEARNING UNIT 3 Security of E-Commerce Transactions between organizations take place in many e-commerce applications using the Internet. Internet is widely accessible and insecure as eavesdropping is possible. Hence, there is need to protect company confidential information from snoopers. We also need to protect a company's network from unauthorised entry. When an organization receives a message it has to be sure from whom it came and whether the message is authentic and not changed by an unauthorised person. We thus need a digital signature which can be used in a court of law. Network Security Using Firewall Firewall is a security device deployed at the boundary of an organization' s network to protect it from unauthorised external access. It links an organization's intranet to the internet and restricts the type of traffic that it will pass, thus providing security. Simple firewalls may be implemented in some routers, called packet filtering firewalls, they pass only some packets based on simple specified criteria such as -Type of access (such as email, ftp, telnet as determined by TCP port number) -Direction of traffic -Source or destination IP address -Time of day Proxy Application Gateway Proxy application program running on a firewall machine is the one which acts on behalf of all members of an organization wanting to use the internet. This program monitors all requests - allows access to only designated addresses outside, limits use of certain browsers and disallows use of some protocols with known security holes. Proxy application program may also be allowed to run on some user's machine who have authorization for internet use. Hardened Firewalls With Proxy Application Gateway Any one from inside or outside an organization give their user id, password, service required to the firewall machine which acts as one's proxy (ie.does ones work on his behalf). Proxy firewall is now server to the requestor's desktop PC and also a client to some other requested service acting on requestor's behalf. Firewall needs proxy agent for each service requested such as FTP, HTTP, TELNET etc. Now proxy firewall is the initiator of all sessions and thus knows every activity - thus ensuring security. Firewall with a proxy function replaces the source address of transaction requestor with its own IP address -this ensures that others on internet see only firewall's IP address - all other IP addresses of organization are hidden Data Encryption With Secret Keys Data sent via a public network may be accessed and used by unauthorized persons. Thus it is necessary to scramble it so that even if one accesses it, it cannot be understood. Similarly data stored in data bases accessible via internet should be scrambled. Method of scrambling is known as encryption. Method of unscrambling is known as decryption. Plain Text And Ciphertext •Plain text is data in its natural form •Encryption is taking data in any form(Text, Audio,Video etc.) and transforming it to another form which cannot be understood •Transformed data is known as cryptogram or cipher text Example Text Encryption Start plaintext Block plaintext (5character blocks) Transpose characters with permutation (4 1 2 5 3) Substitute character by the one 4 letters away (eg A E,Z D) THIS IS A MESSAGE X THISI SAMES SAGEX 4 1 STHII ESASM ESAXG WXLMM IWEWQ IXEBK Cipher text This is an example of two transformations - permutation followed by substitution The keys are permutation function and substitution function Symmetric Encryption PLAINTEXT (m1,m2…mn ) CIPHER TEXT (c1 c2, c3….cn )Where ci = k( Ti (mi) ) In which Ti is permutation of ith character and k is substitution. Decryption by applying same transformations in reverse on cipher text. This method called symmetric key encryption as encryption and decryption performed using same key. Normally the encryption/decryption algorithm is publicised. Only key is secret. Problem is to ensure secrecy of key when it is sent to partner. If the key is to be sent to many partners need for separate key for each partner. Directory of who was sent which key is to be kept and used for each transaction. Directory should be secure. If large number of partners are there key distribution becomes very difficult. Advantage of symmetric key is easy and fast to transform plain text to cipher text. Digital Encryption Standard DES - Proposed by IBM in 1975 Standardised by US Govt in 1977 It is a combination of permutation and substitution on blocks of 64 bits. A message is broken up into 64 bit blocks and each block is separately encrypted. #General idea used in DES M = PLAINTEXT 01101100 11011000 11011010 K = KEY 10101111 00101100 01011011 E= M⊕K 11000011 11110100 10000001 encryption M= E ⊕ K 01101100 11011000 11011010 decryption Digital Encryption Standard Algorithm Before applying DES the text is split up into the 64 bit blocks. DES applied on each 64 bit block. Encryption method Step 1: Apply an initial permutation on a block.Result is B=IP(P) where P is the 64 bit block IP Initial Permutation function and B the result. Step 2: Split B into 32 bit blocks Li = leftmost 32 bits Ri = rightmost 32 bits. Step 3: Pick a 56 bit key. Permute it Step 4: Left circular shift it by 1 bit giving K1. Step 5: Perform a complex sequence of operations and obtain X1 = F(R1,K1) (The complex set of operations include table look up and dropping bits). Step 6: Find R2 = L1 + X1 Step 7: Set L2 = R1 Repeat steps 2 to 7 16 times to get B16 = L16,R16 Step 8: Apply inverse of initial permutation on B16 The result is the encrypted block In summary the DES encryption applies the following transformation 16 times. The ith round transformation are Li+1= Ri Ri+1= Li ⊕ F(Ri,Ki) Each round has a different key Ki For Decryption the process of encryption is reversed. The encrypted block is permuted using IP-1.On this transformations are applied starting with K16 and going to K1 last. The keys and F are same as those used in encryption process. The encryption process uses simple binary operations. They can thus be realised in hardware as an integrated circuit chip. DES chips are inexpensive. Key is externally fed. Details of One Round of DES Encryption DES Chip 64 Input block Key 56 DES CHIP 64 Encrypted Block Observe that from initial key others are derived by circular shifts Decryption chip inputs encrypted block and key and the output is decrypted block DES - Discussion Cryptananalysis is technique for breaking a code, given the samples of encrypted messages. If plain text also known it is somewhat easier. DES code can be broken if key is found. The easiest method of breaking a code is by brute force of trying out all possible keys to decrypt message. With increase in speed of computers it has now been shown that DES key can be found in less than 12 hrs with a fast computer (1 Million decryption per microsecond). Thus DES is practically useless now (original DES was invented in mid 70s). New more secure symmetric encryption algorithm is needed. An extension of DES called triple DES is shown to be more secure. Triple DES Triple DES uses three different keys and three executions of DES algorithm. The algorithm is Cipher text = Ek3 [Dk2 [Ek1 [Plain Text]]] where Ek[X] = DES Encryption of X using key K and Dk[X] = DES Decryption of X using key K Remember that in DES Decryption of encrypted plain text with a different key is almost same as another encryption. This is true as encryption and decryption use the same algorithm. To decrypt cipher text we reverse the operations. Plain text = Dk1[Ek2 [Dk3[Cipher Text]]] BLOCK DIAGRAMS OF TRIPLE DES K3 D E Cipher text (64bit block) K1 D E Plain text Using DES thrice is equivalent to having a DES key length of 168 bits. Brute force method to break triple DES with 106 decrypts per micro second will take 5.9 X 10 30 years! Even at 1012 fold increase in computer speed will make triple DES secure against brute force attacks to break code The only reason D is used as middle step in triple DES is to allow decryption of data encrypted using single DES hardware. In this case K3=K2=K1 (Single key used) (See block diagram) Triple DES will be quite popular for a foreseeable future as it is very secure, can be realised by simple hardware. Triple DES has two disadvantages 1. It is slow to implement in software 2. It uses 64 bit blocks. Thus new standards were explored. Requirements of Symmetric Key Cryptography Algorithm(NIST) – Advanced Encryption System(AES) • National Institute for Standards Technology put out a call for proposals for new crypto system with following requirements. • Must provide a high level of security (i.e. difficult to decrypt in finite time) • Must be completely specified and easily understood. • Security must reside in key – Not in algorithm • Must be available for all users • Adaptable for use in diverse applications e.g.credit cards • Implementable economically in electronic devices • Must be efficient to use as both software and hardware • Must allow one to validate it. • Must be exportable • No trap door • Must use 128 blocks and key lengths of 128,192 or 256 bits depending on the level of security desired. • In October 2000 it announced the selection of an algorithm – called Rijin dael(Pronounce RAIN DOLL) as new Advance Encryption Standard (AES) •Details may be found in www.nist.gov/aes Public Key Encryption In Private Key Encryption transmission of key without compromising not easy. It is necessary to assign different private key to each business partner. When this is done a directory of keys should be kept which should be secret. This is difficult. Only secure way is to change the private key every time a message is sent. Public Key Encryption eliminates the key distribution problem. There is a pair of keys for each organization - A Private Key and its Public Key. If A wants to send message to B, A encrypts the message with B's Public Key When message is received by B he decrypts it with his Private Key . RSA Code Details.”R” Wants To Find His Public And Private Keys 1. Pick large primes p and q. Let n =p * q 2 Find ø = (p-l)*(q-l) 3 Find e relatively prime to Ø, i.e. gcd(ø,e)=1; 1<e<ø. {e,n} is R's Public Key 4 Find a number d which satisfies relation (d * e) mod (ø) =1 {d,n} is R’s Private key 5. Let plain text = t. Encrypt t using R’s public key. Encryption = te (mod n) = c (cipher text) 6.Decryption cd (mod n) =t (Both n and e should be known to encrypt. Similarly both n and d should be known to decrypt) Example Of RSA Use This example is a toy example to illustrate the method. In practice the primes p and q will be very large – each at least 300 digits long to ensure security. RSA Algorithm 1.Pick as prime numbers p=3,q=11 n = p * q=33 Note : The message to be encrypted should be smaller than 33.If we do letter by letter encryption of English alphabets (A to Z as 1 to 26) this is OK 2. Ø = (p-1) x (q-1) = 2 x 10 = 20 3.Pick a number relatively prime to 20. We pick 7. The Public key of R = {7,33} 4.To pick private key of R find d from relation (d x e)mod(ø) = 1 (d x 7) mod (20) =1 This gives d =3 Therefore, the private key of R = {3,33} Applying RSA Algorithm 1.Let the message be CODE If we use code C=3, O=14,D=4,E=5 The message is 3,14,4,5 2.We will encrypt one letter at a time Thus cipher of plain text 3 is 3e mod (n) =37 mod(33) 37 mod (33) =2187 mod (33)=9 (14)7 mod (33) = 105413504mod(33)=20 (4)7 mod (33) =16384 mod (33) =16 (5)7 mod (33) =78125 mod(33) = 14 3.Thus cipher text = 9,20,16,14 4. Decryption : cd mod (n) d=3,n=33 93 mod (33) = 729 mod(33) = 3 203 mod(33) = 8000 mod(33)=14 163 mod(33) = 4096 mod(33) =4 143 mod(33) = 2744 mod(33) =5 We see that we get the original text 3,14,4,5 Discussion on RSA • The security RSA encryption is dependent on the fact that factorising a large prime number to its factors is very difficult. • RSA algorithm is symmetric. In other words if a plain text is encoded by the private key of S, the sender, it can be decrypted using the public key of R, the receiver (We will find later that this symmetry property is used in creating digital signature) •Example using S’s keys S’s Private key = {3,33} S’s Public key = {7,33} • If we encrypt a plain text using S’s private key and send it to R,R must be able to decrypt it with S’s public key. •Assume Plain text is encrypted with S’s private key and get cipher text = (14)3 mod (33)=5 •Decrypting with S’s Public key we get (5)7 mod (33) =78125 mod(33) ={(2367 x 33) + 14} mod (33) =14 DISCUSSION – RSA Vs DES •RSA Public key has two keys – a private secret key and a public open key. •RSA implemented as a program (software) It is computationally complex to encode plain text and decode cipher text using RSA •DES Same key for encryption and decryption. It is a single key system Also called symmetric key system •DES computationally simple-implemented in hardware - thus very fast •Each communication between two businesses can use a different key – provided key is securely exchanged •If key can be sent separately encrypted using RSA, then a recipient can use this to decrypt DES encrypted message. Combining RSA And DES Advantages: • Key is sent along with the plain text. Encrypted using RSA • Key is small-fast to encrypt/decrypt • Each transaction using DES can have a different key- higher security and also fast.Key directory not needed. Digital Signature REQUIREMENTS •Needed to ensure that a message received from say "A" is indeed from him •Signature should be tied to the message sent by "A" SENDING STEP •Sender sends key using RSA system •Sender sends plain text "M" using DES •Receiver decrypts cipher text using DES and the key received from sender call it "MR" •Sender hashes plain text "M' using a hashing function - let the hashed text be "H" •Hashed text "H" encrypted by sender using his Private key •DS is his signature as H encrypted with his private key •DS decrypted by receiver using sender's Public key and obtains "H" Authentication step •Receiver hashes “MR" using hash function and gets “HR" •Receiver compares “H" with “HR" •If they match then it is a signed authenticated plain text •TM is signed as sender has encrypted the hashed text using his private key which he only knows.If H=(MR)(HASHED) = HR where MR is the received message then MR must have been sent by sender. He cannot repudiate. Signing A Message Using Digital Signature Certificate Authority For Digital Signature •As the hashed message in Digital Signature system is decrypted using senders public key, this key must be certified as belonging to sender by an independent authority •Certification needed to ensure authenticity of public keys of organizations as public key is used to verify signature •Certification authority keeps data base of public keys of organizations participating in e-commerce after verifying their credentials. •Potential business partners can authenticate public keys by sending request to certifying authority who certifies after receiving a fee for his services LEARNING UNIT 4 Payment in E-Commerce In any commercial transaction payment is an integral part for goods supplied. Four types of payments may be made in e-commerce they are •Credit card payments •Electronic cheque payments •Micro or small payments for internet based services such as music download. •Electronic-cash payments Each of these requires a different system of payment. Review Of Manual Credit Card Payment Four parties are invoked in credit card payments. They are: • Customer having a credit card • Merchant accepting credit cards (such as VISA, MASTER CARD etc) • Bank which issues credit cards to customers and collects payments from customers •Acquirer which is financial institution that establishes an account with a merchant, validates credit card information sent electronically by merchant and authorises sale based on customer’s credit status. Acquirer accepts credit cards of several card companies and guarantees payment to merchants. Acquirer gets reimbursed by bank issuing credit card. Sequence Of Transactions In Manual Credit Card Payment Step 1: Customer presents credit card after purchase. Merchant swipes it on his special phone and enters amount Step 2: Data from merchant’s terminal goes to acquirer via a private telephone line Step 3: Acquirer checks with the issuing bank validity of card and creditavailable Step 4: Acquirer authorizes sale if all OK and sends approval slip which is printed at merchant’s terminal. Step 5: Merchant takes customer’s signature on the slip-verifies it with the signature on card and delivers the goods. Step 6: The acquirer pays the money to merchant and collects it from the appropriate issuing bank. The bank sends monthly statement to customer and collects outstanding amount. Block Diagram Of Steps In Credit Card Transaction Credit Card In E-commerce Main Problems 1.Main Problem is: if a merchant had only a web presence, a Customer needs to be reassured that the merchant is genuine. 2.Customers Signature cannot be physically verified. Customer needs electronic signature. 3.Secrecy of credit card number has to be ensured. 4.Dispute settlement mechanism must be worked out. Secure Electronic Transaction Protocol To use SET protocol it is assumed that 1. Each party involved in e-commerce transaction has a public and private key.A public key encryption is used. 2. All parties have their public keys certified. 3. A standard hashing algorithm is used to create message digest for signature verification. Main Features •Customers credit card number is not revealed to a merchant. It is revealed only to the acquirer who authorises payment. •Purchase invoice details are not revealed to the acquirer.Only the credit card number and total amount are revealed to him •Purchase invoice + credit card number is digitally signed by the customer.In case of a dispute an arbitrator can use this to settle the dispute. (Computer protocol runs to 262 pages and may be found in www.ibm.com/redbook/SG244978) DUAL SIGNATURE SCHEME Dual signature scheme is an innovation in SET protocol Steps followed in the protocol are: 1. Customer purchase information has 3 parts (i) Purchase Order (PO) (ii) Credit Card Number (CCN) (iii) Amount to be paid 2. Merchant should know (PO + Amount)=POA 3. Acquirer should know (CCN+Amount)=CCA 4. Hash POA using standard Hash algorithm such as RSA’s MD5. Call it POD. 5. Hash CCA using MD5. Call it CCD 6. Concatenate POD and CCD. Call it (POD||CCD) 7. Hash (POD||CCD) giving PPD 8. PPD is encrypted using Private key of customer. This is customer’s digitally signed purchase order DS = Encrypt (PPD) with CPRK CPRK is Private key of customer. This is sent to merchant by customer. DS is called Dual Signature as a private key is used to sign two separate digests concatenated together. 9. POA separately encrypted by customer using merchant’s public key and sent to merchant 10. Merchant decrypts it using his private key. He thus gets Purchase order +Amount. He can hash it and get POD 11. CCD and DS also sent to merchant. From CCD merchant cannot find CCN. 12. Merchant can decrypt DS using customer’s public key and get PPD. Customer must have a certified public key for verification. 13. Merchant can compute H(POD||CCD) If H(POD||CCD)=PPD,then customer’s signature is OK. 14. Merchant forwards to acquirer CCA,POD,DS each separately encrypted using acquirer’s public key. 15. Acquirer’s forwards to bank. 16.Bank finds CCN and Amount.Verifies balance amount.Bank also verifies customer’s digital signature using CCD,POD and DS.If all OK acquirer is informed. 17. Acquirer OK’s transaction to merchant 18. Merchant supplies item.Gets payment from acquirer.Bank collects from customer. Dual Signature System EM: Public key of Merchant EB: Public key of bank (POA) EM is encrypted value with merchant’s public key POA: (Purchase Order + Amount) POD: Purchase Order Digest CCA: (Credit card + Amount) CCD: (Credit card + Amount)Digest || : Concatenation operator which strings together POD and CCD PPD : Purchase Payment Digest CPRK: Private Key of Customer, CPK: Public Key of customer - Step1 : [(POA)EM , (CCA)EB , CCD ,DS] to Merchant - Step2 : Merchant sends [(CCA)EB , DS , POD] to Acquirer - Step3 : Acquirer sends (CCA)EB + DS +POD to Bank. - Bank finds (CC No. + amount) using its private key sees if OK Computes H(CCD||POD) Decrypts DS with customer’s public key If (DS)CPK = H(CCD || POD) Signature verified - Step4 : OK to acquirer if credit and signature OK - Step5 : Ok to Merchant Merchant finds H(H(POA) || CCD)=PPD Decrypts DS with public key of customer. If it gives PPD signature verified. - Step6 : Sends delivery details - Step7 : Bill to customer Step1: Customer fills Purchase order, amount and credit card number in his PC. A software in PC strips it into two parts Purchase Order + Amount (POA), Credit Card No. + Amount(CCA) POA is encrypted using merchant’s public key and CCA with bank’s public key.These are sent with customer’s public key certificates, CCD and DS. Merchant verifies DS. Step2: Merchant forwards to acquirer DS and CCD (These are encrypted using acquirer’s public key) Step3: Acquirer forwards to bank. Bank decrypts CCA with its private key.Checks validity of credit card and balance. If OK informs acquirer Step4: Acquirer OK’s transaction to merchant and credits merchant's account. Step5: Merchant accepts customer’s order and proceeds to dispatch items. Step6: At the end of the month bank sends bill to customer. (All these done by clicks of mouse button) Electronic Cheque Payment Most cheque based transactions will be between businesses -thus a special hardware is attached to PC’s for signing payments. Signature is encrypted by hardware. All public keys of business partners authenticated by certifying agencies. Steps in transaction 1. Purchaser sends purchase order and payment advice signed with his private key to vendor.He also sends his public key certificate encrypted with vendor's public key to vendor 2. Vendor decrypts with his private key, checks certificate and cheque, attaches deposit slip, encrypts with bank's public key and sends it to bank. he also sends his public key certificate 3. Bank checks signatures, credits and clears cheque. Credit advice goes to vendor, and consolidated debit advice sent to purchaser periodically Clearing Cheque Payment Electronically Payments Of Small Amounts On Internet NETBILL'S PROPRIETARY SYSTEM •Customer charged only when information delivered •Vendor guaranteed payment when information delivered •Netbill is the intermediary MAJOR STEPS •When customer accepts quote for information, vendor sends encrypted information without key to customer •Payment order sent to vendor with checksum of information obtained. It is signed by customer •Vendor sends to NET BILL copy of purchase order and the key for decryption •NET BILL checks credit of customer. If ok it sends key to customer. Credits vendor account and debits customer account. Key sent to customer to decrypt information •Customer decrypts information Paying for Small Internet Transactions Electronic Cash •Cash for small payments •Cash preserves anonymity •Cash should not be traceable •Cheaper than credit card transaction •DES normally used for these transaction as it is cheap and amount involved is small Traceable cash payments STEPS 1.Customer withdraws coins in various denominations signed by bank STRUCTURE------> serial no, denomination, signature of bank Bank stores issued coins copy 2.Customer pays vendor using signed coins 3.Bank checks whether it is current or spent 4.If current it authorises dispatch of goods and credits vendor account with electronic coins Electronic Cash Payment REFERENCES 1. Most of the material in this chapter are taken from Chapter 16, Electronic Commerce of the book Analysis and Design of Information Systems (2nd edition) by V.Rajaraman, Prentice-Hall of India, New Delhi,2004 2. There are many books on E-Commerce, which describe E-Commerce in detail. Among these are: E.Awad, Electronic Commerce, Prentice-Hall of India, New Delhi 2002.This book takes managers perspective and not very strong on technology aspects of E-Commerce. All the examples have a strong American bias as the book is primarily intended for students in America. The language is clear but the book is verbose. What can be said in 100 pages is said in 400 pages as it includes all kinds of gossip not relevant to students wanting the learn the subject. 3. D.Minoli and E.Minoli, Web Commerce Technology Handbook, Tata McGraw-Hill, New Delhi, 1999.This book is strong in technology and has wide coverage. 4. W. Stallings, Network Security Essentials, Pearson Education Asia, New Delhi,2001. Has good presentation on DES, Triple DES, RSA and SET protocol. 5. Most traditional Systems Analysis and Design book such as the one by Kendall and Kendall do not separately discuss E-Commerce, they have a cursory treatment at various places in the book. System Analysis and Design/Electronic Commerce Multiple Choice Questions 13.1 By Electronic Commerce we mean: a. Commerce of electronic goods b. Commerce which depends on electronics c. Commerce which is based on the use of internet d. Commerce which is based on transactions using computers connected by telecommunication network 13.2 For carrying out B2B e-Commerce the following infrastructure is essential: (i) World Wide Web (ii) Corporate network (iii) Electronic Data Interchange standards (iv) Secure Payment Services (v)Secure electronic communication link connecting businesses a. i, ii, iii b. ii, iii, iv c. ii, iii, iv, v d. i, ii, iii, iv, v 13.3 For carrying out B2C e-Commerce the following infrastructure is essential (i) World Wide Web (ii) Corporate network (iii) Electronic Data Interchange standards (iv) Secure Payment Services (v) Secure electronic communication link connecting businesses a. i, iv b. i, iii, iv c. ii, iii d. i, ii, iii, iv 13.4 For carrying out C2C e-Commerce the following infrastructure is essential (i) World Wide Web (ii) Corporate network (iii) Electronic Data Interchange standards V. Rajaraman/IISc. Bangalore M13/V1/July 04/1 System Analysis and Design/Electronic Commerce Multiple Choice Questions (iv) Secure Payment Services (v)Secure electronic communication link connecting businesses a. i and ii b. ii and iv c. i and iii d. i and iv 13.5 Advantages of B2C commerce are (i) Business gets a wide reach to customers (ii) Payment for services easy (iii)Shop can be open 24 hours a day seven days a week (iv)Privacy of transaction always maintained a. i and ii b. ii and iii c. i and iii d. iii and iv 13.6 B2C commerce a. includes services such as legal advice b. means only shopping for physical goods c. means only customers should approach customers to sell d. means only customers should approach business to buy 13.7 Advantages of B2C commerce to customers are (i)wide variety of goods can be accessed and comparative prices can be found (ii) shopping can be done at any time (iii)privacy of transactions can be guaranteed (iv)security of transactions can be guaranteed a. i and ii b. ii and iii c. iii and iv d. i and iv V. Rajaraman/IISc. Bangalore M13/V1/July 04/2 System Analysis and Design/Electronic Commerce Multiple Choice Questions 13.8 Disadvantages of e-Commerce in India are (i) internet access is not universally available (ii) Credit card payment security is not yet guaranteed (iii) Transactions are de-personalized and human contact is missing (iv) Cyberlaws are not in place a. i and ii b. ii and iii c. i, ii, iii d. i, ii, iii, iv 13.9 Electronic Data Interchange is necessary in a. B2C e-Commerce b. C2C e-Commerce c. B2B e-Commerce d. Commerce using internet 13.10 EDI requires a. representation of common business documents in computer readable forms b. data entry operators by receivers c. special value added networks d. special hardware at co-operating Business premises 13.11 EDI standards are a. not universally available b. essential for B2B commerce c. not required for B2B commerce d. still being evolved 13.12 EDIFACT is a standard a. for representing business forms used in e-Commerce b. for e-mail transaction for e-Commerce c. for ftp in e-Commerce d. protocol used in e-Commerce 13.13 EDIFACT standard was developed by a. American National Standard Institute V. Rajaraman/IISc. Bangalore M13/V1/July 04/3 System Analysis and Design/Electronic Commerce Multiple Choice Questions b. International Standard Institute c. European Common Market d. United Nations Economic Commission for Europe 13.14 ANSI X.12 is a standard developed by a. American National Standard Institute b. International Standard Institute c. European Common Market d. United Nations Economic Commission for Europe 13.15 In B2B e-Commerce (i) (ii) Co-operating Business should give an EDI standard to be used Programs must be developed to translate EDI forms to a form accepted by application program (iii) Method of transmitting/receiving data should be mutually agreed (iv) It is essential to use internet a. i, ii b. i, ii, iii c. i, ii, iii, iv d. ii, iii, iv 13.16 EDI use a. requires an extranet b. requires value added network c. can be done on internet d. requires a corporate intranet 13.17 EDI over internet uses a. MIME to attach EDI forms to e-mail messages b. FTP to send business forms c. HTTP to send business forms d. SGML to send business forms 13.18 For secure EDI transmission on internet a. MIME is used b. S/MIME is used V. Rajaraman/IISc. Bangalore M13/V1/July 04/4 System Analysis and Design/Electronic Commerce Multiple Choice Questions c. PGP is used d. TCP/IP is used 13.19 EDI standard a. is not easily available b. defines several hundred transaction sets for various business forms c. is not popular d. defines only a transmission protocol 13.20 By security in e-Commerce we mean (i) Protecting an organization’s data resource from unauthorized access (ii)Preventing disasters from happening (iii) Authenticating messages received by an organization (iv) Protecting messages sent on the internet from being read and understood by unauthorized persons/organizations a. i, ii b. ii, iii c. iii, iv d. i, iii, iv 13.21 A firewall is a a. wall built to prevent fires from damaging a corporate intranet b. security device deployed at the boundary of a company to prevent unauthorized physical access c. security device deployed at the boundary of a corporate intranet to protect it from unauthorized access d. device to prevent all accesses from the internet to the corporate intranet 13.22 A firewall may be implemented in a. routers which connect intranet to internet b. bridges used in an intranet c. expensive modem d. user’s application programs 13.23 Firewall as part of a router program a. filters only packets coming from internet V. Rajaraman/IISc. Bangalore M13/V1/July 04/5 System Analysis and Design/Electronic Commerce Multiple Choice Questions b. filters only packets going to internet c. filters packets travelling from and to the intranet from the internet d. ensures rapid traffic of packets for speedy e-Commerce 13.24 Filtering of packets by firewall based on a router has facilities to a. i, iii b. i, ii, iii c. i, ii, iii, iv d. ii, iii, iv 13.25 Main function of proxy application gateway firewall is a. to allow corporate users to use efficiently all internet services b. to allow intranet users to securely use specified internet services c. to allow corporate users to use all internet services d. to prevent corporate users from using internet services 13.26 Proxy application gateway (i) acts on behalf of all intranet users wanting to access interne securely (ii)monitors all accesses to internet and allows access to only specified IP addresses (iii) disallows use of certain protocols with security problems (iv) disallows all internet users from accessing intranet a. i, ii b. i, ii, iii c. i, ii, iii, iv d. ii, iii, iv 13.27 A hardened firewall host on an intranet (i) has a proxy application gateway program running on it (ii)Allows specified internet users to access specified services in the intranet (iii) Initiates all internet activities requested by clients and monitors them (iv) prevents outsiders from accessing IP addresses within the intranet a. i, ii b. i, ii, iii c. i, ii, iii, iv d. ii, iii, iv V. Rajaraman/IISc. Bangalore M13/V1/July 04/6 System Analysis and Design/Electronic Commerce Multiple Choice Questions 13.28 A hardened firewall host on an Intranet is a. a software which runs in any of the computers in the intranet b. a software which runs on a special reserved computer on the intranet c. a stripped down computer connected to the intranet d. a mainframe connected to the intranet to ensure security 13.29 By encryption of a text we mean a. compressing it b. expanding it c. scrambling it to preserve its security d. hashing it 13.30 Encryption is required to (i) protect business information from eavesdropping when it is transmitted on internet (ii)efficiently use the bandwidth available in PSTN (iii) to protect information stored in companies’ databases from retrieval (iv) to preserve secrecy of information stored in databases if an unauthorized person retrieves it a. i and ii b. ii and iii c. iii and iv d. i and iv 13.31 Encryption can be done a. only on textual data b. only on ASCII coded data c. on any bit string d. only on mnemonic data 13.32 By applying permutation (31254) and substitution by 5 characters away F , B G etc..) the following string from current character (A ABRACADABRA becomes a. FGWCAAADRBF b. RABCAAADRBF c. WFGHFFFIWGF V. Rajaraman/IISc. Bangalore M13/V1/July 04/7 System Analysis and Design/Electronic Commerce Multiple Choice Questions d. None of the above 13.33 The following ciphertext was received. The plaintext was permuted using permutation (34152) and substitution. Substitute character by character +3 (A D, etc). The plain text after decryption is: Cipher text : PDLJDLXHVQC a. MAIGAIUESNZ b. IAMAGENIUSZ c. LDPDJHPLXVZ d. IAMAGENIUSC 13.34 By symmetric key encryption we mean a. one private key is used for both encryption and decryption b. private and public key used are symmetric c. only public keys are used for encryption d. only symmetric key is used for encryption 13.35 The acronym DES stands for a. Digital Evaluation System b. Digital Encryption Standard c. Digital Encryption System d. Double Encryption Standard 13.36 DES works by using a. permutation and substitution on 64 bit blocks of plain text b. only permutations on blocks of 128 bits c. exclusive ORing key bits with 64 bit blocks d. 4 rounds of substitution on 64 bit blocks with 56 bit keys 13.37 DES (i) is a symmetric key encryption method (ii)guarantees absolute security (iii) is implementable as hardware VLSI chip (iv) is a public key encryption method a. i and ii b. ii and iii V. Rajaraman/IISc. Bangalore M13/V1/July 04/8 System Analysis and Design/Electronic Commerce Multiple Choice Questions c. i and iii d. iii and iv 13.38 DES using 56 bit keys a. Cannot be broken in reasonable time using presently available computers b. Can be broken only if the algorithm is known using even slow computers. c. Can be broken with presently available high performance computers. d. It is impossible to break ever. 13.39 Triple DES uses a. 168 bit keys on 64-bit blocks of plain text b. Working on 64-bit blocks of plain text and 56 bit keys by applying DES algorithm for three rounds. c. d. Works with 144 bit blocks of plain text and applies DES algorithm once. Uses 128 bit blocks of plain text and 112 bit keys and apply DES algorithm thrice. 13.40 ripple DES a. Cannot be broken in reasonable time using presently available computers. b. Can be broken only if the algorithm is known using even slow computer. c. Can be broken with presently available high performance computers. d. It is impossible to break ever. 13.41 Triple DES a. is a symmetric key encryption method b. guarantees excellent security c. is implementable as a hardware VLSI chip d. is public key encryption method with three keys. 13.42 Public key encryption method is a system a. which uses a set of public keys one for each participant in e-Commerce b. in which each person who wants to communicate has two keys; a private key known to him only and a public key which is publicized to enable others to send message to him. c. which uses the RSA coding system. d. which is a standard for use in e-Commerce. V. Rajaraman/IISc. Bangalore M13/V1/July 04/9 System Analysis and Design/Electronic Commerce Multiple Choice Questions 13.43 Public key system is useful because a. it uses two keys. b. there is no key distribution problem as public key can be kept in a commonly accessible database. c. private key can be kept secret. d. it is a symmetric key system. 13.44 In public key encryption if A wants to send an encrypted message a. A encrypts message using his private key b. A encrypts message using B’s private key c. A encrypts message using B’s public key d. A encrypts message using his public key 13.45 In public key encryption system if A encrypts a message using his private key and sends it to B a. if B knows it is from A he can decrypt it using A’s public key b. Even if B knows who sent the message it cannot be decrypted c. It cannot be decrypted at all as no one knows A’s private key d. A should send his public key with the message 13.46 Message can be sent more securely using DES by a. encrypting plain text by a different randomly selected key for each transmission b. encrypting plain text by a different random key for each message transmission and sending the key to the receiver using a public key system c. using an algorithm to implement DES instead of using hardware d. designing DES with high security and not publicizing algorithm used by it 13.47 DES and public key algorithm are combined (i) to speed up encrypted message transmission (ii)to ensure higher security by using different key for each transmission (iii) as a combination is always better than individual system (iv) as it is required in e-Commerce a. i and ii b. ii and iii V. Rajaraman/IISc. Bangalore M13/V1/July 04/10 System Analysis and Design/Electronic Commerce Multiple Choice Questions c. iii and iv d. i and iv 13.48 A digital signature is a. a bit string giving identity of a correspondent b. a unique identification of a sender c. an authentication of an electronic record by tying it uniquely to a key only a sender knows d. an encrypted signature of a sender 13.49 A digital signature is required (i) to tie an electronic message to the sender’s identity (ii)for non repudiation of communication by a sender (iii) to prove that a message was sent by the sender in a court of law (iv) in all e-mail transactions a. i and ii b. i, ii, iii c. i, ii, iii, iv d. ii, iii, iv 13.50 A hashing function for digital signature (i) must give a hashed message which is shorter than the original message (ii)must be hardware implementable (iii) two different messages should not give the same hashed message (iv) is not essential for implementing digital signature a. i and ii b. ii and iii c. i and iii d. iii and iv 13.51 Hashed message is signed by a sender using a. his public key b. his private key c. receiver’s public key d. receiver’s private key V. Rajaraman/IISc. Bangalore M13/V1/July 04/11 System Analysis and Design/Electronic Commerce Multiple Choice Questions 13.52 While sending a signed message, a sender a. sends message key using public key encryption using DES and hashed message using public key encryption b. sends message using public key encryption and hashed message using DES c. sends both message and hashed message using DES d. sends both message and hashed message using public key encryption 13.53 The responsibility of a certification authority for digital signature is to authenticate the a. hash function used b. private keys of subscribers c. public keys of subscribers d. key used in DES 13.54 Certification of Digital signature by an independent authority is needed because a. it is safe b. it gives confidence to a business c. the authority checks and assures customers that the public key indeed belongs to the business which claims its ownership d. private key claimed by a sender may not be actually his 13.55 The Secure Electronic Transaction protocol is used for a. credit card payment b. cheque payment c. electronic cash payments d. payment of small amounts for internet services 13.56 In SET protocol a customer encrypts credit card number using a. his private key b. bank’s public key c. bank’s private key d. merchant’s public key 13.57 In SET protocol a customer sends a purchase order V. Rajaraman/IISc. Bangalore M13/V1/July 04/12 System Analysis and Design/Electronic Commerce Multiple Choice Questions a. encrypted with his public key b. in plain text form c. encrypted using Bank’s public key d. using digital Signature system 13.58 One of the problems with using SET protocol is a. the merchant’s risk is high as he accepts encrypted credit card b. the credit card company should check digital signature c. the bank has to keep a database of the public keys of all customers d. the bank has to keep a database of digital signatures of all customers 13.59 The bank has to have the public keys of all customers in SET protocol as it has to a. check the digital signature of customers b. communicate with merchants c. communicate with merchants credit card company d. certify their keys 13.60 In electronic cheque payments developed, it is assumed that most of the transactions will be a. customers to customers b. customers to business c. business to business d. banks to banks 13.61 In cheque payment protocol, the purchase order form is signed by purchaser using a. his public key b. his private key c. his private key using his signature hardware d. various public keys 13.62 In the NetBill’s protocol for small payments for services available in the internet. (i) the customer is charged only when the information is delivered (ii)the vendor is guaranteed payment when information is delivered V. Rajaraman/IISc. Bangalore M13/V1/July 04/13 System Analysis and Design/Electronic Commerce Multiple Choice Questions (iii) the customer must have a certified credit card (iv) the customer must have a valid public key a. i, ii b. i, ii, iii c. i, ii, iii, iv d. i, ii, iv 13.63 In NetBill’s protocol for small payments for internet services (i) Key to decrypt information is sent to customer by NetBill only when there is enough amount in debit account (ii) The vendor supplies the key to NetBill server when he receives payment (iii) Checksum of encrypted information received by customer is attached to his payment order (iv) Vendor does not encrypt information purchased by customer a. i, ii b. i, ii, iii c. i, ii, iii, iv d. i, ii, iv 13.64 In Electronic cash payment a. a debit card payment system is used b. a customer buys several electronic coins which are digitally signed by coin issuing bank c. a credit card payment system is used d. RSA cryptography is used in the transactions 13.65 In Electronic cash payment (i) a customer withdraws “coins” in various denominations signed by the bank (ii)the bank has a database of issued coins (iii) the bank has a database of spent coins (iv) the bank cannot trace a customer a. i, ii b. i, ii, iii c. i, ii, iii, iv d. ii, iii, iv V. Rajaraman/IISc. Bangalore M13/V1/July 04/14 System Analysis and Design/Electronic Commerce Multiple Choice Questions Key to Objective Questions 13.1 13.7 13.13 13.19 b 13.25 b 13.31 c 13.37 c 13.44 c c 13.51 a d a d 13.2 c 13.8 c 13.14a 13.20 d 13.26 b 13.32 c 13.38 c 13.45 a b 13.56 b 13.62 d 13.3 13.9 13.15 13.21 13.27 c a 13.4 c 13.10 b c c 13.5 a 13.11 13.16 c 13.22 a 13.28 b 13.34 a 13.40 a 13.47 a 13.53 c d b 13.58 c 13.64 b c 13.6 b 13.12 13.17 13.23 13.29 c 13.35 b 13.41 b 13.48 c 13.54 c 13.59 13.65 b a 13.60 c a c a a 13.18 b 13.24 b 13.30 d 13.36 a 13.43 b 13.50 13.33 b 13.39 b 13.46b 13.52 a 13.57 13.63 13.42 b 13.49 b 13.55 13.61 c V. Rajaraman/IISc. Bangalore M13/V1/July 04/15 MODULE 13 ELECTRONIC COMMERCE WORKED EXAMPLES 13.1 Explain B2B e-Commerce using an example of a book distributor who stocks a large number of books, which he distributes via a large network of book sellers. Assume that the distributor has stocks of books of a large number of publishers and book sellers order books as and when their stock is low. Distributors give 1 month’s time to booksellers for payment Distributor’s warehouse Warehouse of Bookseller Book Received(6) Reminder if bill not paid within one month (14) Acknowledge order and send bill(5) Enquire Availability (2) Distributor’s Bookseller website Display various books(3) Places order (4) Send cheque(7) Stock goes below level(1) Receipt to Book supplied to seller(13) bookseller (6) Distributor’s bank Cheque sent Ok’s after verification of Cheque seller’s public (11) key certificates (8) Send cheque for clearance (9) Credit to distributor’s bank A/C (13) Ok’s clearance (10) Clearing house Book seller’s bank Debit advice to book seller’s bank (12) Information flow (Normally electronically) Physical item flows 13.2 Explain B2C e-Commerce of a customer reserving airline tickets from his home or place of work. B2C e-Commerce involves the business between an individual and an organization. For the case given in question, the customer has to visit the site of the travel agency or a broker and get the status of the availability of tickets. If ticket is available he/she will book the ticket and input the credit card details. He/She will be given the details of delivery of ticket. The block diagram below depicts the total process (8) Acknowledge order and sends ticket (1) Request Service Customer (2) Display information on various flights (3) Places order with credit card details Website of travel agency (5) Ok’s Credit (4) Credit card card details (8) Bill to Customer Travel agency’s bank A/C Credit Card companies computer (7) Debit advice giving credit card no (8) Credit to travel agency’s A/C Customer’s Bank 13.3 Explain C2C e-Commerce with an appropriate example Here the selling and purchasing is carried out between two individuals. One is a seller and the other is a buyer. The items are usually used items, collector’s items such as stamps/coins or antiques. The seller posts the description of the item and the expected price of the item on a web site maintained by a company which acts as a middle man or broker. For example: Consider a company Y which acts as a broker. Suppose an indivi-dual A has to sell some items, so it will post the description of the items in Y’s site. A person B is interested to purchase some items, then he/she will visit Y’s site. Here we can have three cases. Case I: The broker Y can just acts as an advertising agency and make the two persons meet each other and carry out further transaction. For this it gets some commission from both the parties. This is described in the block diagram below: Negotiations are made and deal is finalized (5) Places order (6) Send the mail id of A(4) Request for items (3) Website of Y Display items (2) Post Description of items (1) A B Case II: The broker Y can act as an advertising agency, make the two persons negotiate the price. Then Y takes all responsibilities until the item is delivered. For this it gets some commission from both the parties. This is described in the block diagram below: Negotiations are made and deal is finalized (5) Pays the amount received after taking commission(13) Places order with credit card details(7) Send the mail id of A(4) Communication regarding the price settled (6) Request for items (3) Website of Y Display items (2) Acknowledge order (10) Post Description of items (1) B A Send credit card details (8) Ok’s credift card(9) Y’s Bank A/C Credit to Y’s A/C (11) Shiping Advice (11) Credit Card companies computer Debit advice giving Credit card no (9) B’s bank Bill sent to B(12) Items delivered to B (11) Y’s warehouse Information flow (Normally electronically) Physical items flow Case III: The broker Y can act as an advertising agency and displays items posted by the seller with prices. Both the buyer and seller will not have knowledge of each other. Y takes all responsibilities until the item is delivered. For this he gets some commission from both the parties. This is described in the block diagram below: Places order with credit card details(4) Pays the amount received after taking commission(12) Request for items (3) Website of Y Display items (2) Acknowledge order (7) Post Description of items (1) B A Send credit card details (5) Ok’s credift card(6) Y’s Bank A/C Credit to Y’s A/C (11) Shiping Advice (9) Credit Card companies computer Debit advice giving Credit card no (8) B’s bank Bill sent to B(11) Items delivered to B (10) Y’s warehouse Information flow (Normally electronically) Physical items flow 13.4 What do you understand by EDI? Is EDI used in B2C or B2B eCommerce? Why is EDI important in e-Commerce? EDI stands for Electronic Data Interchange. It is a standard electronic format used for purchase orders, invoices etc. When such electronic forms are received they can be interpreted correctly by recipient’s computer program and used. EDI is used in B2B e-Commerce . It is important in e-Commerce because there is no manual intervention and data transfer is faster. As the format is agreed between two organizations, communication is simple. 13.5 What is VAN? What services do VANs provide? What are the advantages and disadvantages of VAN? VAN stands for Value Added Networks which provide services to Businesses which are members VANs provide post boxes for each of its subscribers who want to use their services. Some VANs provide conversion of forms to standard EDI format. The disadvantage of VAN services is high cost. 13.6 Why is security important in e-Commerce? What are the security issues to be taken into account while designing a security system for eCommerce? Since in e-Commerce the transaction and communication takes place between two entities using PSTN, security issue is important. The different security issues that are taken into account , while designing a security system for e-Commerce are given below: • As internet connects several networks one has to be sure that unauthorised persons do not gain access to the company’s confidential information. Both hardware and software solutions are needed to ensure this. The communication between companies should be protected from snoopers. When a company receives a message, it must be sure from whom it has come. In electronic communication system there should be digital signature so that the receiver knows that it has come from an authorised business. It should also ensure that the authentication of digital signature must be maintainable in a court of law in case of disputes. • • 13.7 What is a firewall? What are the functions of a firewall? A firewall is a set of related programs , located at a network gateway server that protects the resources of private network from other networks. Basically firewall, working closely with a router program, filters all network packets to determine whether to forward them toward their destination. The different functions of firewall are: • • • • • Protection from vulnerable service Control access to site system Concentrated security Enhance privacy Logging and statistics on Network use and misuse 13.8 What is a hardened firewall host? What are its functions? In what way is it different from proxy application gateway? The hardened firewall is a computer that will require inside or outside users to connect to the trusted applications in it before connecting to external world. The major functions of hardened firewall are: Security processes are concentrated on one machine Names of systems on LAN, e-mail address etc., are hidden from outsiders • Network service management is simplified by locating services such as ftp, e-mail, search engines etc., in the firewall machine. The difference between hardened firewall and proxy application gateway is that for hardened firewall the inside or outside users are required to connect to the trusted application in firewall machine before connecting to any machine. All the information will pass through this computer, hence it is more secure. 13.9 Given a plain text: THIS IS A SAMPLE SENTENCE FOR ENCRYPTION. Apply the permutation (231564) and the substitution: (letter letter + 6 ) and obtain the cipher text. Step 1: write the message in block of 6 characters THISIS ASAMPL ESENTE NCEFOR ENCRYP TION Step 2: follow permutation(231564) HITISS SAAPLM SEETEN CENORF NCEYPR TION Step 3: make substitution (Letter Letter + 6) NOZOYY YGGVRS YKKZKT IKTUXL TIKEVXZOUT 13.10 What is DES? Explain what DES does when the following hexadecimal plain text is input to a DES hardware. A1907FBCD986543201FED14E890ABCA5 DES is a symmetric cryptographic algorithm. It is a block cipher, and encrypts data in 64-bit blocks. The same algorithm and key are used for both encryption and decryption. • • The key length is 56 bits. The key is usually expressed as a 64-bit number, but every eighth bit is used for parity checking and is ignored. These parity bits are the least-significant bits of the key bytes. After the initial permutation, the block is broken into a right half and a left half, each 32 bits long. Then there are 16 rounds of identical operations, called Function f, in which the data are combined with the key. After the sixteenth round, the right and left halves are joined, and a final permutation (the inverse of the initial permutation) finishes off the algorithm. In each round as shown in the figure (page 210) the key bits are shifted, and then 48 bits are selected from the 56 bits of the key. The right half of the data is expanded to 48 bits, combined with 48 bits of a shifted and permuted key via an XOR, then again converted to 32 new bits, and permuted again. These four operations make up Function f. The output of Function f is then combined with the left half via another XOR. The result of these operations becomes the new right half; the old right half becomes the new left half. These operations are repeated 16 times, making 16 rounds of DES. If Bi is the result of the ith iteration, Li and Ri are the left and right halves of Bi, Ki is the 48-bit key for round i, and f is the function and does all the substituting and permuting and XORing with the key, then a round looks like: Li = Ri – 1 Ri = Li – 1 ⊕ f(R i – 1, Ki) For more information on DES please refer to book “APPLIED CRYPTOGRAPHY” written by Bruce Schneier. Plain Text IP Lo ⊕ f Ro K1 L1 =R0 R1=L1⊕ f(R1,K2) ⊕ f K2 L2 =R1 R2=L1⊕ f(R1,K2) L15 =R14 R15=L14⊕ f(R14,K15) ⊕ f K16 R16=L15⊕ f(R15,K16) L16 =R15 IP-1 Cipher text 13.11 What do you understand by symmetric key cryptography? What are the main advantages and disadvantages of symmetric key cryptography? The cryptography in which the same key is used for encryption and decryption and known to both parties while exchanging information is known as symmetric key or private key cryptography. The disadvantage of this method is , the difficulty in securely distributing the keys to authorised 13.12 What is public key encryption? In what way is it different from private key encryption? Why is it important in e-Commerce? The encryption in which two keys are used for encryption and decryption is called public key encryption. One of these keys is known as public key which is available to anyone wanting to send encrypted message. It is different from private key encryption in the sense that it uses two keys. One key is used for encryption and other is used for decryption. A private encryption, on the other hand uses one key for both encryption and decryption. Public key system is important in e-Commerce because the public key of an organization is publicized globally. The customers encrypt a message using receiving organization’s public key, which is decrypted by the receiving organization using its private key. Similarly the organization encrypts the message using particular customer’s public key which is then decrypted by the customer using their private key. With this secure communication can be established which is an important aspect of e-Commerce. 13.13 What are the main differences between DES based encryption and RSA based encryption? Is it possible to combine these two systems? If so explain how? The main difference between DES based encryption and RSA based encryption is DES uses a single key for both encryption and decryption whereas RSA uses two keys for the same • DES is faster as it is implemented through hardware • RSA is secure but slow since it uses complex computational procedure. Breaking the key is not easy Yes, one can combine the two keys. DES can be used to encrypt/decrypt messages using one key. The key itself can be sent using RSA. persons. • 13.14 Give a block diagram of a system for transmitting a signed purchase order from business 1 to business 2. See Fig. 16.13 of text. 13.15 What types of electronic payment systems are required in eCommerce? Why are there different types of payment systems? Explain the necessary characteristics of each type of payment system and give an example each of where it is used. The different types of electronic payment systems required in e-Commerce are: cash payments, credit card payments and cheque payments. Each of these payments have their own advantages and disadvantages Cash payment is used for small transactions and mostly used for C2C eCommerce Credit card is used for middle size transactions and mostly used for B2C e-Commerce Cheque payment system is used for voluminous transactions and mostly used for B2B e-Commerce The characteristics of e-Cash or electronic cash payments are: e-Cash must have monetary value e-Cash must be interoperable i.e., exchangeable for other e-cash, paper-cash, goods and services • It must be storable and retrievable The characteristics of credit card transactions are: • • The credit card number entered by the customer should be encrypted The merchant should not have the knowledge of the credit card number of the customer • • The characteristics of cheque payment are: • Both the parties involved in business should have public key certificates • The cheque should be cleared by a clearing house before any transaction occurs Necessary dedicated hardware device is required for signing and encrypting the order. 13.16 Explain SET protocol used in credit card transactions. What is the main interesting aspect of SET protocol which gives confidence to customers transacting business using the internet? See Sec 16.6.1 steps 1 to 7 The main interesting aspect of SET protocol which gives the confidence to the customer is that the merchant does not know the credit card number of the customer. 13.17 What are the main characteristics of cash payment in contrast with cheque payment? Why are governments not sympathetic to large cash transactions in e-Commerce? Cash payments are used in C2B applications which involve small payments whereas cheque payment system is generally used in B2B applications in which higher amount of transactions are carried out. Cheque payments are much more secure and traceable compared to cash payments. A sophisticated scheme called transaction blinding has been invented, using which cash payments cannot be traced. As governments do not like untraceable large cash transactions it is not sympathetic to large cash transactions in e-Commerce. 13.18 Explain how cash transactions take place in e-Commerce. What special precautions should be taken by a bank to ensure that a customer does not double spend the same electronic coins issued to him/her? Cash Transaction in e-Commerce A customer can withdraw “coins” in various denomination from his bank and keeps in his PC. The withdrawal takes place by the customer giving a serial number and denomination of each coin and requesting his bank to digitally sign it. The signed coins are of the form: (serial no., denomination, signature of bank). The bank will store a copy of issued coins. The customer pays a vendor by cash by sending the signed coin. The vendor sends it to the issuing bank (or to his bank which may deal with the issuing bank via a clearing house). The bank checks whether it has been signed by it and not yet spent. If it is OK it informs the vendor, who now can despatch the goods. The bank transfers the cash to the vendor’s account. The coin is stored in the “spent amount database” of the bank so that if the coin is presented again it can be dishonored. Bank manages “spent amount database” which stores the information about the coin spent by the customer. If the customer tries to reuse the coin bank can easily trace it out from the “spent amount database”. QUESTION BANK 13.1 13.2 Define E-commerce. What are the different types of E-commerce? Explain B2B E-Commerce using an example of a book distributor who stocks a large number of books, which he distributes via a large network of book sellers. Assume that the distributor has stocks of books of a large number of publishers and book sellers order books as and when their stock is low. Distributors give 1 month's time to booksellers for payment. 13.3 Explain B2C E-Commerce of a customer reserving airline tickets from his home or place of work. 13.4 13.5 13.6 Explain C2C E-Commerce with an appropriate example. List the advantages and disadvantages of E-Commerce Explain the system architecture of E-Commerce by looking at it as a set of layers with the physical network at the bottom layer and applications at the top layer. 13.7 13.8 Define internet. Why is internet important in E-Commerce? What do you understand by EDI? Is EDI used in B2C or B2B E-Commerce? Why is EDI important in E-Commerce? 13.9 What are two major EDI standards used in E-Commerce? Which is the standard accepted for Government transactions in India? 13.10 What is VAN? What services do VANs provide? What are the advantages and disadvantages of VAN? 13.11 13.12 If internet is to be used for EDI which mail standard is used? If email is to be used to exchange EDI between two businesses what are the points on which they should agree? 13.13 Why is security important in E-Commerce? What are the security issues to be taken into account while designing a security system for E-Commerce? 13.14 13.15 13.16 13.17 What is a firewall? What are the functions of a firewall? What is packet screening? Which hardware device performs packet screening? What is a proxy application gateway? What are the functions of this gateway? What is a hardened firewall host? What are its functions? In what way is it different from proxy application gateway? 13.18 Given a plain text: THIS IS A SAMPLE SENTENCE FOR ENCRYPTION. Apply the permutation (231564) and the substitution: (letter obtain the cipher text. 13.19 What is DES? Explain what DES does when the following hexadecimal plain text is input to a DES hardware. A1907FBCD986543201FED14E890ABCA5 13.20 What do you understand by symmetric key cryptography? What are the main advantages and disadvantages of symmetric key cryptography? 13.21 What is public key encryption? In what way is it different from private key encryption? Why is it important in E-Commerce? 13.22 What are the main differences between DES based encryption and RSA based encryption? Is it possible to combine these two systems? If so explain how? 13.23 Given two prime numbers 23 and 41 design a RSA system. Explain with an example how it works. letter + 6 ) and 13.24 What is a digital signature? Why is it necessary in E-Commerce? What are the necessary conditions a hash function used in digital signature should satisfy? 13.25 Give a block diagram of a system for transmitting a signed purchase order from business 1 to business 2. 13.26 What is a certifying authority? Why is a certifying authority required in ECommerce? How does a certifying authority performs its tasks? 13.27 What types of electronic payment systems are required in E-Commerce? Why are there different types of payment systems? Explain the necessary characteristics of each type of payment system and give an example each of where it is used. 13.28 Explain SET protocol used in credit card transactions. What is the main interesting aspect of SET protocol which gives confidence to customers transacting business using the internet? 13.29 In using SET protocol who has to keep a data base of public keys of all customers? How does the customer assured that he will not be double charged for the same item purchased? 13.30 What are the main differences between electronic cheque payment and credit card payment in E-Commerce? Explain cheque transaction protocol used in ECommerce. 13.31 Why is a different payment system needed for small payment for internet services? Explain how one such system functions. How does the system make sure that payment is made only after information for which payment has been made is actually delivered to the customer? 13.32 What are the main characteristics of cash payment in contrast with cheque payment? Why are governments not sympathetic to large cash transactions in E-Commerce? 13.33 Explain how cash transactions take place in E-Commerce. What special precautions should be taken by a bank to ensure that a customer does not double spend the same electronic coins issued to him/her? References 1. Most of the material in this chapter are taken from Chapter 16, Electronic Commerce of the book Analysis and Design of Information Systems (2nd edition) by V.Rajaraman, Prentice-Hall of India, New Delhi,2004 2. There are many books on E-Commerce, which describe E-Commerce in detail. Among these are: E.Awad, Electronic Commerce, Prentice-Hall of India, New Delhi 2002.This book takes managers perspective and not very strong on technology aspects of ECommerce. All the examples have a strong American bias as the book is primarily intended for students in America. The language is clear but the book is verbose. What can be said in 100 pages is said in 400 pages as it includes all kinds of gossip not relevant to students wanting the learn the subject. 3. D.Minoli and E.Minoli, Web Commerce Technology Handbook, Tata McGrawHill, New Delhi, 1999.This book is strong in technology and has wide coverage. 4. W. Stallings, Network Security Essentials, Pearson Education Asia, New Delhi,2001. Has good presentation on DES, Triple DES, RSA and SET protocol. 5. Most traditional Systems Analysis and Design book such as the one by Kendall and Kendall do not separately discuss E-Commerce, they have a cursory treatment at various places in the book. SUMMARY OF MODULE 13 1. The sharing of business information, maintaining business relationships and conducting business transactions by using telecommunication networks is usually defined as Electronic Commerce. 2. E-commerce is normally categorised as Business to Business (B2B), Business to Customer (B2C) and Customer to Customer (C2C) 3. The major advantages of E-Commerce are anytime, anywhere transaction, reduction in cost of transactions, reduction in time to market products, faster interbusiness transaction and faster transfer of funds. 4. The major disadvantages of E-commerce are poor security of transactions unless special precautions are taken, loss of privacy, lack of legislation to settle disputes and menace of hackers. 5. E-Commerce architecture consists of the following layers: The lowest layer in the physical network which may be a LAN connected by unshielded twisted pair wires, Public Switched Telephone Networks, WAN using optical fibre etc. The next layer is the logical network such as internet, intranet and extranet (all of which use TCP/IP protocol). Resting on this is the world wide web and services on it such as web pages, browsers, and search engines. Above this is Deleted: r the security layer which deals with encryption, digital signatures etc. Resting on this are Electronic Data Interchange and Electronic payment services. All these layers are necessary to write application systems. 1 6. At the physical level most organizations use local area networks using unshielded Deleted: ck po twisted pair cables and Ethernet protocol. The cheapest method of interconnecting organizations is to use Public Switched Telephone Network. 7. Internet is the most important logical network which enables E-Commerce. internet protocol called TCP/IP is universally used. The Organizational private networks which use TCP/IP protocol are called intranets. Organizational intranets are often connected by a private secure communication link. Such a network is called an Extranet. 8. World wide web is a global multimedia information service available on the internet. It supports web pages . 9. Web pages are located using a scheme known as Universal Resource Locator (URL) which is its address. Web browsers are used to locate web pages. 10. Web pages are created using a language known as hypertext markup language Deleted: html Deleted: prepared using hyper text markup language. Deleted: ¶ (HTML). Words can be picked and tagged to connect the page with other related pages. Deleted: mpile Deleted: which 11. It is imperative for every organization to have a website in today's internet world to publicise their functions. The page must be attractively designed and updated regularly. 12. Electronic Data Interchange (EDI) is essential in E-Commerce. EDI replaces printed forms by a standard electronic format which can be interpreted correctly by computer programs of cooperating businesses. 2 Deleted: Network 13. EDI standards have been published by American National Standards Institute and Deleted: -Commerce by United Nations Economic Commission for Europe. The United Nations Deleted: n standard is called EDIFACT and may become the standard for international commerce. 14. Value Added Network Services provide electronic post boxes to their clients to exchange EDI documents. They guarantee security and delivery of documents. They also provide services to convert an organization's forms to standard format such as EDIFACT. Deleted: le 15. If internet is used for exchanging business documents Secure Multipurpose Internet Mail Extension (S/MIME) standard is recommended. 16. An organizaion's intranet is connected to the internet via a proxy server or a Deleted: f hardware unit. This is called a firewall . Firewall protects an organization's computers from unauthorised intruders. 17. Messages exchanged between organizations using the internet can be easily tapped by eaves droppers. It is thus necessary to scramble them to prevent eavesdroppers from understanding the messages. It is done by encrypting messages. 18. Message (plain text) is encrypted by transposing characters of the plain text by a specified permutation and substituting characters by other characters. The encrypted text is called ciphertext. 19. This general idea is used in a standard encryption method called Digital Encryption Standard(DES). DES encrypts 64 bit blocks with a 56 bit key. 3 20. DES has been implemented as a hardware device. DES hardware may be attached Deleted: it to a computer's output port so that messages sent from the computer are encrypted. The receiver can decrypt it if he is given the key. 21. A system in which the encrypting and decrypting keys are same is called a symmetric key system. 22. The main problem with a symmetric key system is the need to distribute the key Deleted: It is, however, fast. securely to all participating businesses. Symmetric key encryption/decryption is fast. 23. Two key based system called RSA system does not require distributing secret keys. It has two keys for each participant in the communication, a private key and a public key. If A wants to send a message to B, A encrypts the message using B's public key. B decrypts it using his private key. Thus there is no key distribution problem. It is, however, slower than the symmetric key system. 24. RSA system is based on the fact that it is difficult to factor two prime components Deleted: when from their product, particularly, when the prime numbers are large. 25. In RSA system, a message encrypted with a private key, can be decrypted with the corresponding public key. This is used in digital signature. Deleted: is known Deleted: RSA system is symmetric. Deleted: other words Deleted: is 4 26. In order to sign a message the sender hashes the message with a known algorithm to get a message digest MD. MD is encrypted with the sender's private key and sent to the intended receiver. Let us call it MDe. The message itself is encrypted with a symmetric key and sent. The recipient decrypts the message and computes the message digest MD using the known hashing algorithm. He then decrypts the Deleted: it encrypted message digest MDe using the sender's public key. If (MDe) decrypted = MD then the message is not a forgery as only the sender knows his private key. This signature ties the signature to the message and cannot be repudiated by the sender. 27. To ensure that public keys of organizations do belong to them there are certification authorities which check the legitimacy of organizations certificates. 28. In E-Commerce payments are made as credit card payments, cheque payments or cash payments . Besides this a system to make small payments for information Deleted: downloads and issue public key goods (such as files, books etc.) downloaded from the internet is needed. Deleted: k 29. Credit card payments are made using a protocol called Secure Electronic Transaction (SET protocol). It uses RSA system and digital signatures. 30. Cheque payments are made between organizations using digitally signed cheques and public key certificates issued by a certifying authority. 5 31. Payment for small transactions is made using digital coins issued by banks to Deleted: csutomer's customer after debiting the customer's account. A digital coin consists of amount, identification number and banks signature. These coins are given in exchange for goods. The bank reimburses the vendor after checking its signature and ensuring that the coin has not been spent earlier. 32. A system called NetBill has been proposed for small payment for information services on the internet. It ensures that a key is given to a customer for decrypting information only after payment is received by the vendor. delivery of contracted information by the vendor. It also guarantees 6 Formatted QUESTION BANK 13.1 13.2 Define E-commerce. What are the different types of E-commerce? Explain B2B E-Commerce using an example of a book distributor who stocks a large number of books, which he distributes via a large network of book sellers. Assume that the distributor has stocks of books of a large number of publishers and book sellers order books as and when their stock is low. Distributors give 1 month's time to booksellers for payment. 13.3 Explain B2C E-Commerce of a customer reserving airline tickets from his home or place of work. 13.4 13.5 13.6 Explain C2C E-Commerce with an appropriate example. List the advantages and disadvantages of E-Commerce Explain the system architecture of E-Commerce by looking at it as a set of layers with the physical network at the bottom layer and applications at the top layer. 13.7 Define internet. Why is internet important in E-Commerce? 7 13.8 What do you understand by EDI? Is EDI used in B2C or B2B E-Commerce? Why is EDI important in E-Commerce? 13.9 What are two major EDI standards used in E-Commerce? Which is the standard accepted for Government transactions in India? 13.10 What is VAN? What services do VANs provide? What are the advantages and disadvantages of VAN? 13.11 13.12 If internet is to be used for EDI which mail standard is used? If email is to be used to exchange EDI between two businesses what are the points on which they should agree? 13.13 Why is security important in E-Commerce? What are the security issues to be taken into account while designing a security system for E-Commerce? 13.14 13.15 13.16 13.17 What is a firewall? What are the functions of a firewall? What is packet screening? Which hardware device performs packet screening? What is a proxy application gateway? What are the functions of this gateway? What is a hardened firewall host? What are its functions? In what way is it different from proxy application gateway? 13.18 Given a plain text: THIS IS A SAMPLE SENTENCE FOR ENCRYPTION. Apply the permutation (231564) and the substitution: (letter obtain the cipher text. letter + 6 ) and 13.19 What is DES? Explain what DES does when the following hexadecimal plain text is input to a DES hardware. A1907FBCD986543201FED14E890ABCA5 8 13.20 What do you understand by symmetric key cryptography? What are the main advantages and disadvantages of symmetric key cryptography? 13.21 What is public key encryption? In what way is it different from private key encryption? Why is it important in E-Commerce? 13.22 What are the main differences between DES based encryption and RSA based encryption? Is it possible to combine these two systems? If so explain how? 13.23 Given two prime numbers 23 and 41 design a RSA system. Explain with an example how it works. 13.24 What is a digital signature? Why is it necessary in E-Commerce? What are the necessary conditions a hash function used in digital signature should satisfy? 13.25 Give a block diagram of a system for transmitting a signed purchase order from business 1 to business 2. 13.26 What is a certifying authority? Why is a certifying authority required in ECommerce? How does a certifying authority performs its tasks? 13.27 What types of electronic payment systems are required in E-Commerce? Why are there different types of payment systems? Explain the necessary characteristics of each type of payment system and give an example each of where it is used. 13.28 Explain SET protocol used in credit card transactions. What is the main interesting aspect of SET protocol which gives confidence to customers transacting business using the internet? 9 13.29 In using SET protocol who has to keep a data base of public keys of all customers? How does the customer assured that he will not be double charged for the same item purchased? 13.30 What are the main differences between electronic cheque payment and credit card payment in E-Commerce? Explain cheque transaction protocol used in ECommerce. 13.31 Why is a different payment system needed for small payment for internet services? Explain how one such system functions. How does the system make sure that payment is made only after information for which payment has been made is actually delivered to the customer? 13.32 What are the main characteristics of cash payment in contrast with cheque payment? Why are governments not sympathetic to large cash transactions in E-Commerce? 13.33 Explain how cash transactions take place in E-Commerce. What special precautions should be taken by a bank to ensure that a customer does not double spend the same electronic coins issued to him/her? 10 11 MODULE 14 CASE TOOLS OBJECTIVE QUESTIONS There are 4 alternative answers to each question. One of them is correct. Pick the correct answer. Do not guess. A key is given at the end of the module for you to verify your answer 1. The expansion of CASE tools is: (a) Computer Assisted Self Evaluation (b) Computer Aided Software Engineering (c) Computer Aided Software Environment (d) Core Aids for Software Engineering 2. CASE tools are used by industries to (i) Improve productivity of their software engineers (ii) Reduce time to develop applications (iii)Improve documentation (iv)Automate system analysis (a) i and ii (c) i, ii, and iii (b) i and iii (d) ii and iii 3. The following are the disadvantages of CASE tools (i) Some tools are expensive (ii) All software engineers need to be trained to use these tools (iii) A lot of time is wasted in using the tools (iv) Software developed using CASE tools are of poor quality (a) i, ii, iii, iv (c) ii, iii, and iv (b) iii and iv (d) i and ii 4. CASE tools are useful (a) only during system design stage (b) during all the phases of system life cycle (c) only for system documentation (d) only during system analysis stage 5. CASE tools have the following advantages (i) they integrate the development done during each phase of system development (ii) they permit effective communication with users (iii) they are useful as communication aids with users of the system (iv) they are useful in estimating cost of changes in system requested by users 6. CASE tools are (a) A Set of rules to be used during system analysis and design (b) Program, packages used during system analysis and design (c) A set of tools used by analysts (d) Needed for use case development. 7. By open domain CASE tools we mean (a) tools available in open domain (b) software packages which can be downloaded form the internet (c) software packages to aid each phase of the systems analysis and design which can be downloaded free of cost from the internet (d) source codes of CASE tools 8. Open domain CASE tools (a) are better than commercial tools (b) are not very useful (c) do not usually have very good user interface but are otherwise useful (d) are full of bugs 9. Open domain CASE tools (a) always provide the source code (b) are available for use only for a limited period (c) never provide the source code (d) are usually object files available for unrestricted use with on-line help files 10. Open domain CASE tools (a) are available for almost all phases of system analysis and design life cycle (b) are available only for drawing DFD’s (c) are no available to document SRS (d) creating data dictionaries 11. CASE tools are classified often as (a) Classical and Modern CASE tools (b) Upper and lower CASE tools (c) Source and Object CASE tools (d) Object oriented and Structured CASE tools 12. Upper CASE tools are used (a) for developing DFD’s (b) for screen design (c) during all phases of system analysis and design life cycle (d) for converting structured English procedures to source code into a language such as C 13. Lower CASE tools are used for (a) for developing DFD’s (b) for screen design (c) during all phases of system analysis and design life cycle (d) for converting structured English procedures to source code into a language such as C 14. Lower CASE tools are used for (a) develop graphical user interface (b) for converting decision tables to source programs (c) for generating test cases (d) for developing use cases 15. The current standard tool for designing object oriented systems is called (a) Unified Modelling Language (b) Booch Modelling Language (c) Object Modelling Language (d) Class, responsibilities and collaborators language KEYS 1. 2. 3. 4. 5. 6. 7. 8. b c d b ? b c c 10 a 11 b 12 a 13 d 14 b 15 a MODULE 14 CASE TOOLS Learning Units 14.1 CASE tools and their importance 14.2 Some CASE tools and their use Systems Analysis And Design © V. Rajaraman Learning Goals What are CASE tools? Why are they important in systems analysis and design? When are they used? How are they used? Systems Analysis And Design © V. Rajaraman 1 of 9 Motivation Industries routinely use CASE tools as productivity aid to reduce time to develop systems. A student should know what these tools are and how they are useful The intention of this module is not to make you an expert in the use of these tools but to make you aware about them and their importance in industrial practice Systems Analysis And Design © V. Rajaraman 2 of 9 CASE Tools and their importance CASE tools stand for Computer Aided Software Engineering tools As the name implies they are computer based programs to increase the productivity of analysts They permit effective communication with users as well as other members of the development team. They integrate the development done during each phase of a system life cycle. They assist in correctly assessing the effects and cost of changes so that maintenance cost can be estimated. Systems Analysis And Design © V. Rajaraman 3 of 9 Available CASE tools • Commercially available systems provide tools (i.e computer program packages) for each phase of the system development life cycle. A typical package is Visual Analyst which has several tools integrated together. • Tools are also in the open domain which can be downloaded and used. They do not usually have very good user interfaces. 14.1.1 Systems Analysis And Design © V. Rajaraman 4 of 9 Available CASE tools • System requirements specification documentation tool • Data flow diagramming tool • System flow chart generation tool • Data dictionary creation • Formatting and checking structured English process logic 14.1.2 Systems Analysis And Design © V. Rajaraman 5 of 9 Available CASE tools •Decision table checking • Screen design for data inputting • Form design for outputs. • E-R diagramming • Data base normalization given the dependency information 14.1.3 Systems Analysis And Design © V. Rajaraman 6 of 9 When are tools used • Tools are used throughout the system design phase • CASE tools are sometimes classified as upper CASE tools and lower CASE tools. • The tools we have described so far are upper CASE tools • Tools are available which will generate computer screen code from higher level descriptions such as structured English and decision tables,They are called lower CASE tools 14.1.4 Systems Analysis And Design © V. Rajaraman 7 of 9 Object Oriented System Design Tools • Unified Modelling Language is currently the standard • UML tool set is marketed by Rational Rose a company whose tools are widely used. • This is an expensive tool and not in our scope in his course. 14.1.5 Systems Analysis And Design © V. Rajaraman 8 of 9 How to use the tools • Most tools have a user’s guide which is given as help files along with the tool •Many have FAQ’s and search capabilities •Details on several open domain tools and what they do is given as notes. 14.2.1 Systems Analysis And Design © V. Rajaraman 9 of 9 MODULE 14 CASE TOOLS Contents 1. MOTIVATION AND LEARNING GOALS 2. LEARNING UNIT 1 CASE tools and their importance 3. LEARNING UNIT 2 Some CASE tools and their use 4. REFERENCES CASE TOOLS MOTIVATION Industries routinely use CASE tools as productivity aid to reduce time to develop systems. A student should know what these tools are and how they are useful. The intention of this module is not to make you an expert in the use of these tools but to make you aware about them and their importance in industrial practice. LEARNING GOALS What are CASE tools? Why are they important in systems analysis and design? When are they used? How are they used? LEARNING UNIT 1 CASE Tools and their importance CASE tools stand for Computer Aided Software Engineering tools. As the name implies they are computer based programs to increase the productivity of analysts. They permit effective communication with users as well as other members of the development team. They integrate the development done during each phase of a system life cycle and also assist in correctly assessing the effects and cost of changes so that maintenance cost can be estimated. Available CASE tools Commercially available systems provide tools (i.e computer program packages) for each phase of the system development life cycle. A typical package is Visual Analyst which has several tools integrated together. Tools are also in the open domain which can be downloaded and used. However, they do not usually have very good user interfaces. Following types of tools are available: System requirements specification documentation tool Data flow diagramming tool System flow chart generation tool Data dictionary creation Formatting and checking structured English process logic Decision table checking Screen design for data inputting Form design for outputs. E-R diagramming Data base normalization given the dependency information When are tools used Tools are used throughout the system design phase. CASE tools are sometimes classified as upper CASE tools and lower CASE tools. The tools we have described so far are upper CASE tools They are tools which will generate computer screen code from higher level descriptions such as structured English and decision tables, such tools are called lower CASE tools Object Oriented System Design Tools Unified Modelling Language is currently the standard. UML tool set is marketed by Rational Rose a company whose tools are widely used. This is an expensive tool and not in our scope in his course. LEARNING UNIT 2 How to use the tools •Most tools have a user’s guide which is given as help files along with the tool •Many have FAQ’s and search capabilities •Details on several open domain tools and what they do is given below. I. SYSTEM FLOWCHART AND ER-DIAGRAM GENERATION TOOL Name of the tool: SMARTDRAW URL: This Software can be downloaded from: http://www.smartdraw.com. This is a paid software, but a 30-day free trial for learning can be downloaded. Requirements to use the tool: PC running Windows 95, 98 or NT. The latest versions of Internet Explorer or Netscape Navigator, and about 20MB of free space. What the tool does: Smartdraw is a perfect suite for drawing all kinds of diagrams and charts: Flowcharts, Organizational charts, Gantt charts, Network diagrams, ERdiagrams etc. The drag and drop readymade graphics of thousands of templates from built-in libraries makes drawing easier. It has a large drawing area and drawings from this tool can be embedded into Word, Excel and PowerPoint by simply copy-pasting. It has an extensive collection of symbols for all kinds of drawings. How to use: The built-in tips guides as the drawing is being created. Tool tips automatically label buttons on the tool bar. There is online tutorial provided in: http://www.smartdraw.com/tutorials/flowcharts/tutorials1.htm http://www.ttp.co.uk/abtsd.html II. DATA FLOW DIAGRAM TOOL Name of the tool: IBMS/DFD URL: This a free software that can be downloaded from: http://viu.eng.rpi.edu Requirements to use the tool: The following installation instructions assume that the user uses a PC running Windows 95, 98 or NT. Additionally, the instructions assume the use of the latest versions of Internet Explorer or Netscape Navigator. To download the zip files & extract them you will need WinZip or similar software. If needed download at http://www.winzip.com. What the tool does: The tool helps the users draw a standard data flow diagram (a process-oriented model of information systems) for systems analysis. How to use: Double click on the IBMS icon to see the welcome screen. Click anywhere inside the welcome screen to bring up the first screen. Under "Tools" menu, select DFD Modeling. The IBMS will pop up the Data Flow Diagram window. Its menu bar has the File, Edit, Insert, Font, Tool, Window and Help options. Its tool box on the right contains 10 icons, representing (from left to right and top to bottom) pointer, cut, data flow, process, external entity, data store, zoom-out, zoom-in, decompose, and compose operations, respectively. Left click on the DFD component to be used in the toolbox, key in the information pertaining to it in the input dialogue box that prompts for information. To move the DFD components: Left click on the Pointer icon in the tool box, point to the component, and hold Left Button to move to the new location desired in the work area. To edit information of the DFD components: Right click on the DFD component. The input dialogue box will prompt you to edit information of that component. Levelling of DFD: Use the Decompose icon in the tool box for levelling To save the DFD: Under File menu, choose Save or SaveAs. Input the name and extension of the DFD (the default extension is DFD) and specify folder for the DFD to be saved. Click OK. III. TOOL TO CONVERT DECISION TABLE TO STRUCTURED ENGLISH Name of the tool: COPE URL: This is a free tool and should be worked online at http://www.cs.adelaide.edeu.au/users/dwyer/examples.html What the tool does: Cope is a program that converts decision tables to Cobol source statements How to use: The general arrangement of a Cope decision table is shown in Example below. This table consists of a heading and four rows. The first two rows are conditions, and the last two are actions. A condition row consists of a number of entries followed by the word is and a Cobol condition. An action row consists of a series of entries followed by a Cobol statement. Example: YYNN YNYN XX - -XXX is A = 0. is B = 0. Move 0 to C. Add 1 to C. Type in the Decision table in the text area provided (each line should start with 6 blanks and an asterisk), click on “Generate Cobol” to obtain the Cobol statements of the Decision table. There is online help provided at: http://www.cs.adelaide.edu.au/users/dwyer/COPE-MAN.html#RTFToC1 Another tool (to be worked online) for program code generation from Decision table can be found at http://dtable.projxonline.com/Default.aspx Note: The tools to convert Decision Tables to Structured English is not available. IV. SYSTEM REQUIREMENTS SPECIFICATION DOCUMENTATION TOOL Name of the tool: ARM URL: The tool can be downloaded without cost at http://sw-assurance.gsfc.nasa.gov/disciplines/quality/index.php What the tool does: ARM or Automated Requirement Measurement tool aids in writing the System Requirements Specifications right. The user writes the SRS in a text file, the ARM tool scans this file that contains the requirement specifications and gives a report file with the same prefix name as the user’s source file and adds an extension of “.arm”. This report file contains a category called INCOMPLETE that indicate the words and phrases that are not fully developed. Requirements to use the tool : PC running Windows 95, 98 or NT. The latest versions of Internet Explorer or Netscape Navigator, and about 8MB of free space. How to use the tool : On clicking the option Analyze under File menu and selecting the file that contains the System Requirements Specifications, the tool processes the document to check if the specifications are right and generates a ARM report. The WALKTHROUGH option in the ARM tool assists a user by guiding him as to how to use the tool apart from the HELP menu. The README.doc file downloaded during installation also contains description of the usage of this tool. V. A TOOL FOR SCREEN DESIGN AND DATA INPUTTING Name of the tool: Visual Basic URL: http://www.microsoft.com/downloads/details.aspx?FamilyID=bf9a24f9-b5c548f4-8edd-cdf2d29a79d5&displaylang=en What the tool does: This tool is used to create the graphical user interface (GUI) to describe the appearance and location of interface elements, you simply add prebuilt objects into place on screen. Help: http://msdn.microsoft.com/library/default.asp?url=/library/enus/vbcon98/html/vbconpart1visualbasicbasics.asp VI A TOOL FOR DESIGNING AND MANIPULATING DECISION TABLES Name of the tool: Prologa V.5 URL: http://www.econ.kuleuven.ac.be/prologa Note: This tool can be downloaded from the above given URL, after obtaining the password. What the tool does: The purpose of the tool is to allow the decision maker to construct and manipulate (systems of) decision tables. In this construction process, the features available are automatic table contraction, automatic table optimization, (automatic) decomposition and composition of tables, verification and validation of tables and between tables, visual development, and rule based specification. References: 1. J.A.Hoffer, J.F.George and J.S.Valacich “Modern Systems Analysis and Design”, Pearson Education Asia,New Delhi,2002 Chapter 4 “Automated Tools for Systems Development” has a good discussion of CASE tools. 2. G.Booch, J.Rumbaugh, I.Jacobson; “The Unified Modelling Language User Guide”, Addison Wesley, Reading, MA, USA, KGG authentic Introduction to Rational Commercial tools for Object oriented modelling 3. URL’s of various available CASE tools (a) System flowchart and Er-diagram generation tool: Smartdraw http://www.smartdraw.com (b) Data flow diagram tool: IBMS/DFD http://viu.eng.rpi.edu (c) Tool to convert decision table to structured english: COPE http://www.cs.adelaide.edeu.au/users/dwyer/examples.html (d) System Requirements Specification documentation tool: ARM http://sw-assurance.gsfc.nasa.gov/disciplines/quality/index.php (e) A tool for screen design and data inputting: Visual Basic http://www.microsoft.com/downloads/details.aspx?FamilyID=b f9a24f9-b5c5-48f4-8edd-cdf2d29a79d5&displaylang=en (f) A tool for creation, manipulation and checking of decision tables:Prologa v.5 http://www.econ.kuleuven.ac.be/prologa System Analysis and Design/Case Tools Multiple Choice Questions 14.1 The expansion of CASE tools is: a. Computer Assisted Self Evaluation b. Computer Aided Software Engineering c. Computer Aided Software Environment d. Core Aids for Software Engineering 14.2 CASE tools are used by industries to (i) (ii) (iii) (iv) Improve productivity of their software engineers Reduce time to develop applications Improve documentation Automate system analysis a. b. c. i and ii i and iii i, ii, and iii d. ii and iii 14.3 The following are the disadvantages of CASE tools (i) (ii) (iii) (iv) Some tools are expensive All software engineers need to be trained to use these tools A lot of time is wasted in using the tools Software developed using CASE tools are of poor quality a. i, ii, iii, iv b. iii and iv c. ii, iii, and iv d. i and ii 14.4 CASE tools are useful a. only during system design stage b. during all the phases of system life cycle c. only for system documentation d. only during system analysis stage 14.5 CASE tools have the following advantages a. they integrate the development done during each phase of system development V. Rajaraman/IISc. Bangalore M14/V1/July 04/1 System Analysis and Design/Case Tools Multiple Choice Questions b. they permit effective communication with users c. they are useful as communication aids with users of the system d. they are useful in estimating cost of changes in system requested by users 14.6 CASE tools are a. A Set of rules to be used during system analysis and design b. Program, packages used during system analysis and design c. A set of tools used by analysts d. Needed for use case development. 14.7 By open domain CASE tools we mean a. tools available in open domain b. software packages which can be downloaded form the internet c. software packages to aid each phase of the systems analysis and design which can be downloaded free of cost from the internet d. source codes of CASE tools 14.8 Open domain CASE tools a. are better than commercial tools b. are not very useful c. do not usually have very good user interface but are otherwise useful d. are full of bugs 14.9 Open domain CASE tools a. always provide the source code b. are available for use only for a limited period c. never provide the source code d. are usually object files available for unrestricted use with on-line help files 14.10 Open domain CASE tools a. are available for almost all phases of system analysis and design life cycle b. are available only for drawing DFD’s c. are no available to document SRS d. creating data dictionaries 14.11 CASE tools are classified often as a. Classical and Modern CASE tools V. Rajaraman/IISc. Bangalore M14/V1/July 04/2 System Analysis and Design/Case Tools Multiple Choice Questions b. Upper and lower CASE tools c. Source and Object CASE tools d. Object oriented and Structured CASE tools 14.12 Upper CASE tools are used a. for developing DFD’s b. for screen design c. during all phases of system analysis and design life cycle d. for converting structured English procedures to source code into a language such as C 14.13 Lower CASE tools are used for a. for developing DFD’s b. for screen design c. during all phases of system analysis and design life cycle d. for converting structured English procedures to source code into a language such as C 14.14 Lower CASE tools are used for a. develop graphical user interface b. for converting decision tables to source programs c. for generating test cases d. for developing use cases 14.15 The current standard tool for designing object oriented systems is called a. Unified Modeling Language b. Booch Modeling Language c. Object Modeling Language d. Class, responsibilities and collaborators language V. Rajaraman/IISc. Bangalore M14/V1/July 04/3 System Analysis and Design/Case Tools Multiple Choice Questions Key to Objective Questions 1. b 15.a 2.c 3. d 4.b 6 .b 7.c 8.c 10.a 11.b 12 .a 13.d 14 .b V. Rajaraman/IISc. Bangalore M14/V1/July 04/4 MODULE 14 CASE TOOLS WORKED EXAMPLES 14.1 What is the expansion of CASE tools? CASE tools stand for Computer Aided Software Engineering tools. 14.2 What are the advantages of using CASE tools? The advantages of CASE tools are as follows: 1. CASE tools are software packages, which allows software engineers to develop systems faster. 2. CASE tools also assist in better communication among members of a team developing a system. They improve communication between team members and users of the system 3. Use of CASE tools result in better documentation of systems 4. CASE tools also assist in correctly assessing the effects and cost of changes requested by users during system development and maintenance 5. System Analysis and Design/Case Tools Question Bank Exercises 1. Use a DFD diagramming to draw DFD’s for the following: Admission procedure in a University. An advertisement is issued giving essential qualifications for the course, the last date for receipt of application, and the fee to be enclosed with the application. A clerk in the Registrar’s office checks the received applications to see if marksheet and fee are enclosed and sends valid applications to the concerned academic department. The department checks the application in detail and decides the applicants to be admitted, those to be put in the waiting list, and those rejected. Appropriate letters are sent to the Registrar’s office which intimates the applicant. Give physical and logical DFDs corresponding to the above problem. 2. Use a DFD diagramming to draw DFD’s for the following: A magazine is published monthly and is sent by post to its subscribers. Two months before the expiry of subscription, a reminder is sent to the subscribers. If subscription is not received within a month, another reminder is sent. If renewal subscription is not received up to two weeks before the expiry of the subscription, the subscriber’s name is removed from the mailing list and the subscriber informed. Obtain logical DFDs for this problem. 3. Use a CASE tool to format and check structured English processing rules for the following: An organization maintains an employee file in which each record has following data: { Employee No., employee name, employee gross pay}. It has been decided to increase the pay as per the following formula: For pay of Rs. 1000 or less increase 15%. For pay of more than Rs. 1000 but up to Rs. 2500 increase 10%. For pay over Rs. 2500 increase 5%. (i) While employee records left in file do Read Number, name , gross pay if gross pay <=1000 then increase = gross pay  0.15 else if gross pay <= 2500 then increase = gross pay  0.1 else increase = gross pay  .05 end if end if Gross pay = gross pay + increase Write Number, name, gross pay end while (ii) While employee records left in file do Read Number, name, gross pay do Table Gross pay <= 1000 Y N N Gross pay <= 2500 – YN Percent increase 15 10 5 V. Rajaraman/IISc. Bangalore M14/V1/July 04/1 System Analysis and Design/Case Tools Question Bank end table Gross pay = gross pay (1+percent increase/100) Write Number, name, gross pay end while 4. Use a structured English process description tool to obtain Structured English description for the following: An offshore gas company bills its customers according to the following rate schedule: First 500 litres Rs. 10 (flat) Next 300 litres Rs. 1.25 per 100 litres Next 30,000 litres Rs. 1.20 per 100 litres Next 100,000 litres Rs. 1.10 per 100 litres Above this Re. 1.00 per 100 litres The input record has customer identification, name and address, meter reading, past and present. 5. Obtain system flow chart using appropriate tools for Exercises 3 and 4 above. 6. Use Decision Table checking tool to check the following Decision table. R1 R2 R3 C1: Door open? C2: Ring sign on? C3: Enter sign on? C4: Door locked? R4 N N N N R5 N N N Y R6 R7 R8 R9 R10R11R12R13R14 N N N N N N Y Y Y Y N N Y Y Y Y N N N N Y Y N N Y Y N N Y Y N Y N Y N Y N Y N Y R15R16 Y Y Y Y Y Y N N Y N Y N Y Y Y Y ? Ring bell – – – – X – X – – ? – ? X ? X Enter– – X – – – X – – ? X ? – ? X ? Wait – – – – X – – – – ? – ? X ? – ? LeaveX X – X – X – X X ? – ? – ? – ? A1 A1 A2 A1 A3 A1 A4 A1 A1 A2 A3 A4 7. Use Decision Table checking tool for the following Decision table C1: This week’s cash > weekly rate – Y – Y N Y N – N – C2: This week’s cash > 0 – – Y – Y – Y N – N C3: Any cash during last month Y – N N Y Y Y N N – C4: Arrears . > 2 * weekly rate N – – – – – Y – – Y C5: Arrears > 4 * weekly rate – N N – Y Y N N Y Y Send arrears letter A – – – – Send arrears letter B – – – – Send arrears letter C – – – – Send arrears letter D – – – – Notify accounts X X X X Take special action – – – – 8. Use ER-Diagramming tool to solve the following (i) Customer withdraws money from his account. (ii) Students write examinations. (iii)Students attend classes. (iv) Professors write books. V. Rajaraman/IISc. Bangalore – N Y Y N – – – X – – – – – – X – X – – – – – – X – – – – – – X – – – – – – – – X – – – – – X M14/V1/July 04/2 System Analysis and Design/Case Tools Question Bank (v) Driver drives a car. 9. Use ER-Diagramming tool to solve the following (i) A bill is sent to a customer. A customer can receive many bills. (ii) A clerk works in a bank. The bank has many clerks. (iii) A part is used in many products and a product uses many parts. (iv) Students apply for seats in colleges. Each student can atmost get one seat. A college has many seats. A student can send many applications. (v) A car is owned by a person. The person can own many cars. 10. Use ER-Diagramming tool to solve the following: Use any reasonable assumptions. “A machine shop produces many parts which it takes on contract. It employs many machinists who operate any of the machines. A part needs working on only one machine. A record is kept on the quantity of material needed for producing each part. The production of each part is tracked by giving a job number, start time and end time and machinist identification.” 11.Design an input screen using a tool to reserve tickets in a long distance bus. 12.Design an input screen using a tool to enter examination marks of students. Each record has Roll no, Name, Marks in all subjects, total and class. V. Rajaraman/IISc. Bangalore M14/V1/July 04/3 System Analysis and Design/Case Tools Pointers References: 1. J.A.Hoffer, J.F.George and J.S.Valacich “Modern Systems Analysis and Design”, Pearson Education Asia,New Delhi,2002 Chapter 4 “Automated Tools for Systems Development” has a good discussion of CASE tools. 2. G.Booch, J.Rumbaugh, I.Jacobson; “The Unified Modelling Language User Guide”, Addison Wesley, Reading, MA, USA, KGG authentic Introduction to Rational Commercial tools for Object oriented modelling 3. URL’s of various available CASE tools (a) System flowchart and Er-diagram generation tool: Smartdraw http://www.smartdraw.com (b) Data flow diagram tool: IBMS/DFD http://viu.eng.rpi.edu (c) Tool to convert decision table to structured english: COPE http://www.cs.adelaide.edeu.au/users/dwyer/examples.html (d) System Requirements Specification documentation tool: ARM http://swassurance.gsfc.nasa.gov/disciplines/quality/index.php (e) A tool for screen design and data inputting: Visual Basic http://www.microsoft.com/downloads/details.aspx?FamilyID=bf9a24f9b5c5-48f4-8edd-cdf2d29a79d5&displaylang=en (f) A tool for creation, manipulation and checking of decision tables:Prologa v.5 http://www.econ.kuleuven.ac.be/prologa V. Rajaraman/IISc. Bangalore M14/V1/July 04/1 Module 14 Summary 1. CASE is an acronym for Computer Assisted Software Engineering 2. CASE tools are readymade computer programe, which assist a system analyst and applications programmer to increase his/her productivity tools 3. Besides improving productivity thus also provide better interaction among members of a system development team. 4. CASE tools allow tracking of progress of projects. 5. They also aid in assessing cost and time needed to effect changes in a system. 6. There are both commercial and open domain tools to assist in all phases of a system analysis and design life cycle. 7. Commercial tools are expensive. They however have better user interfaces and customer support. 8. For object oriented systems analysis and design Universal Modelling Language (UML) is the correct standard. 9. A tool for Object oriented analysis using UML is marketed by a company named Rational Rose and is the most popular tool set used by industry. 10. In the notes we have given the URL’s of a number of open domain tools, which can be tried by students. References: 1. J.A.Hoffer, J.F.George and J.S.Valacich “Modern Systems Analysis and Design”, Pearson Education Asia,New Delhi,2002 Chapter 4 “Automated Tools for Systems Development” has a good discussion of CASE tools. 2. G.Booch, J.Rumbaugh, I.Jacobson; “The Unified Modelling Language User Guide”, Addison Wesley, Reading, MA, USA, KGG authentic Introduction to Rational Commercial tools for Object oriented modelling 3. URL’s of various available CASE tools (a) System flowchart and Er-diagram generation tool: Smartdraw http://www.smartdraw.com (b) Data flow diagram tool: IBMS/DFD http://viu.eng.rpi.edu (c) Tool to convert decision table to structured english: COPE http://www.cs.adelaide.edeu.au/users/dwyer/examples.html (d) System Requirements Specification documentation tool: ARM http://sw-assurance.gsfc.nasa.gov/disciplines/quality/index.php (e) A tool for screen design and data inputting: Visual Basic http://www.microsoft.com/downloads/details.aspx?FamilyID=b f9a24f9-b5c5-48f4-8edd-cdf2d29a79d5&displaylang=en (f) A tool for creation, manipulation and checking of decision tables:Prologa v.5 http://www.econ.kuleuven.ac.be/prologa System Analysis and Design/Case Study Learning Objectives Learning Objectives In this module we will learn using two examples How an informal description of a problem is analyzed to obtain a more formal specification of requirements. How various techniques learnt in the rest of the modules of this course are integrated to develop a complete information system to meet requirements specifications. How an information system is documented. V. Rajaraman/IISc. Bangalore //V1/Sep 05/1 MODULE 15 CASE STUDY Learning Units 15.1 Analysis and design of a journal acquisition system 15.2 Analysis and design of a data processing system for small hotel Systems Analysis And Design © V. Rajaraman Learning Goals In this module we will learn using two examples 1. How an informal description of a problem is analyzed to obtain a more formal specification of requirements 2. How various techniques learnt in the rest of the modules of this course are integrated to develop a complete information system to meet requirements specifications 3. How an information system is documented Systems Analysis And Design © V. Rajaraman MOTIVATION 1. It is necessary at the end of a course to understand how various techniques learnt as separate modules can be used together in some full case studies. This integrated the learning experience 2. By following the case study analysis and design a student will learn how to go through a step-by-step process and finally document the designed step. Systems Analysis And Design © V. Rajaraman System Analysis and Design/Case Study Question Bank Exercises 1. Passenger Reservation System Assume that ABC Bus Corporation has approached you for computerizing their bus reservation system for various destinations originating from Bangalore. The Corporation has currently about 1000 buses spread over 60 routes operating from Bangalore to various places. Of them, 700 are regular, 200 are semi-luxury, and remaining are super deluxe buses. The seating capacity are 48, 42 and 36, respectively. The Corporation would like to have at least one week advance reservation. The details required to be provided by the passenger would be date of journey, starting point, destination, number of seats (half or full), concession required, if any, route no., and departure time of the service. If seats are available, your system should be able to provide enquiry services in a variety of ways to help the passenger take a decision. What is the route nos., which halt at the place requested by the passenger either as a final destination or as an intermediate point? Whether seats are available by same route no. but at a different departure time. Whether seats are available by a different route no. on the same day. The earliest date on which seats are available for a place by a given route no. The cost of travel by various categories of buses (namely, ordinary, deluxe, etc) to a destination by various routes. The above are some of the questions that could be asked by the customer. Two seats are reserved VIPs and/or emergency quota. However , if nobody turns up for the same, upto half an hour before the departure, the seats are allotted to those in the waiting list according to priority. Concessions are given in respect of students during summer vacation. Thus they need to pay only 50% of the actual fare. Employees and their eligible family members may travel free once a year, by producing the appropriate identity cards. Your system must verify that the total distance travelled by such a person does not exceed 3000km. Seats are not allowed for half ticket but a seat may be allotted for half tickets issued. You system should provide a facility for cancellation. 10% of the fare shall be forfeited if the cancellation is done atleast two days prior to the journey. 20% shall be forfeited if the cancellation is done one day prior to the journey but not more than two days, 25% if done 8 hours and 40% for less than half an hour and up to half an hour after departure of the bus. In all other cases the amount is forfeited. The reservation fee of Rs. 5 is always nonrefundable. Journey can be postponed/advanced subject to availability of seats by the same route at most once at no extra cost. Your system would have to maintain a database of various routes originationg from Bangalore and the fare by each of them for various categories of buses to various destinations. Frequently the Corporation revises the fares and your system should accommodate this. Assume that more than one counter is simultaneously active for reservation/cancellation. 2. Hostel Information System Assume that your college hostel authorities have approached you for developing a computerized information system that can handle hostel room allotments and keep track of them. V. Rajaraman/IISc. Bangalore M15/V1/Sep 05/1 System Analysis and Design/Case Study Question Bank You are quite familiar with the hostels. As first step, catalogue the details such as various hostels, their capacities, types of rooms, i.e., single/double/spacious double/married students apartments etc. Assume a suitable figure for ladies hostel also. Since the number of rooms are less than the number of students, some students have to share a room. Assume that research students are given priority, followed by M.E. and B.E students. Married students are given married students apartments, if available; else they fall into general pool. Find out how many students join/leave every year in each of the college programmes. A student is allotted a room on joining as follows: If the student is married and married students hostel is available and all others senior to him in his category have been allotted an apartment; else he gets only single/double/spacious double room. If the student is unmarried; or he is married but no married students apartment is available, he gets either a single/spacious double/ double room, i.e., if a single room is available and all others senior to him in this category (viz., Research/ M.E/B.E) have been allotted the same, he also gets a single room; else he has to be given a spacious double room. If that also is not available then allot him a double room. Priorities based on course (Research, M.E., B.E) and within that date of joining is to be maintained so as to give a student a better room as and when it is available. Your system should maintain a list of hostels, rooms and details and should be able to, Give the lists of available rooms, those occupied, those likely to become free, etc., Intimate students as and when their priorities increase about the new rooms which are available and handle room allotments, Prepare a list of students who do not vacate their rooms even after the last date of vacating their rooms after their course is over, and Allow students to change rooms within the same class either mutually or to any other vacant room of the same class. 3. Hospital Automation Consider the operation of a medium size hospital. Patients data are stored and retrieved. Further, data about the various types of and number of wards/beds/operation theatres available and allotment of wards to patients are also maintained. The hospital authorities are interested in computerizing this information. The hospital has three types of operation theatres: A, B and C, respectively used for major, minor and small operations, respectively. Wards are of two types: general and special. General wards have capacities of 4 and 8 beds while special wards are either single or double beds. The hospitals also has a maternity ward with 25 rooms, each of which can accommodate 2 beds. The hospital has 20 general wards of capacity 4 and 30, general wards of capacity 8. It has 20 special wards with 2 beds each and 10 special wards with single bed. Moreover, the hospital has an intensive care unit with a 5-bed capacity. The charges are given in the table below(Rs.). V. Rajaraman/IISc. Bangalore M15/V1/Sep 05/2 System Analysis and Design/Case Study Question Bank General 4-bed 200 8-bed 150 400 Special Single 300 Double Maternity 250 Intensive care unit costs Rs. 1000/- per day. The doctor notes down the clinical details on the patient’s card, which contains the following details. The name of the patient, address, date of visit, doctor’s name etc. If the patient has to be admitted, other details such as bed no., ward no., type, and date of admission are noted. If the patient has been recommended or desires a special ward but is currently not available, he may be admitted in a general ward and later transferred when a bed is available. Operation costs are not fixed and are determined on a case by case basis. When the patient is discharged, the bed charges should be computed. To this should be added costs of medicine, treatment, consultation fees, operation charges if any, and laboratory charges. Assume that another subsystem of hospital information system gives you these details and is available. Your system will have to compute equipment charges for those used by patients. Whenever an equipment is used by the patient, the details are noted. Assume that the available equipment are X-ray machine, infra red radiation generation machine, scanner, ultrasound machine, etc. The charges are based on number of exposures incase of X-ray at Rs.50 per exposure. The others are based on number of hours of usage, at Rs. 100, 150, and 200, respectively All the above costs are to be added and presented in final bill. Your system should keep track of patients data, history ward/equipment usage to calculate other costs, ward/bed allotted or otherwise, operation theatre used. The following problems are encountered by the hospital: Currently the hospital is not able to keep track of the free/allotted wards/beds and their details due to frequent shifting of the patients, difficulty in tracking both wardwise and patientwise. Patients data, especially history is also difficult to extract. Your system should be able to provide the following information: Details of a patient such as when a patient was admitted, his or her charges, facilities used, date of discharge, etc. State of beds/wards, free/occupied etc. 4. Insurance The Bangalore divisional office of XYZ Insurance Corporation of India desires to have computerized information system and has approached you for developing the same. Assume that the Corporation offers 2 types of policies, namely, endowment and moneyback. The endowment policy operates as follows: the policy holder pays premium until the maturity of the policy or his death, at which time the sum assured and bonus is paid to the holder or the nominee respectively. V. Rajaraman/IISc. Bangalore M15/V1/Sep 05/3 System Analysis and Design/Case Study Question Bank The money-back scheme differs in that 25% of the sum assured is paid back to the holder after expiry of every quarter of the policy term. For instance, consider a policy for 20 years and Rs. 50,000 sum assured. Rs.12,500 would be paid back to the holder at the expiry of 5,10 and 15 years, respectively. At the maturity of the policy the remaining Rs12500 and the bonus would be payable. In case of death the remaining amount of the sum assured and bonus would be paid back to the nominee. Assume that the Bangalore division has 100,000 policy holders and 150,000 policies of which 20,000 are money back. (i) Endowment policy. The premium to be paid is worked out based on age of the person proposed and the term of the policy. The sample table given below shows the annual premium payable (in Rs.) for an assured sum of Rs. 1000. The sum assured should be a multiple of Rs.1000 and the minimum is Rs10,000.The minimum term is 15 years. The minimum age at entry is 18 and the maximum is 45.Premium can be paid monthly, quarterly, half-yearly, or annually. Form tables for the above cases using these data as guideline. While designing the tables keep in mind that the total premium paid should be slightly lower incase of annual mode of payments, and the highest premium should be for monthly payments, and the highest premium should be for monthly payment. Age at entry Policy term 15 years 20 years 25 years 30 years (ii) 18 25 30 35 70 52 41 34 72 53 42 34.5 74 54 42.75 35 76.25 56 44 - Money –back policy. The premiums are much higher than the endowment case. Typically they would be Rs 10-20 more for every Rs 1000 sum assured. The Amount paid as bonus by the Corporation on maturity is currently Rs.65 per Rs 1000 sum assured. This amount may be revised every year by the Corporation depending on the profits. This holds for both types of policies. Policies may lapse if the holder does not pay the premium for more than to two years. However, it can be paying penalty charges if the period of lapse does not exceed five years. The Corporation has divided Bangalore division into 15 zones for its convenience. Each zone has a zonal manager. The Corporation also has several agents to procure business. A proposer of a policy may do so only through an authorized agent. These agents report to the zonal manager. Every zone has a number of agents allotted, typically ranging from 10 to 20. Every agent must procure a minimum of 10 customers and a policy value (combined) of at least Rs.1.5 lakhs in order to retain his agency. Agents get commission as follows: 25% and 5% in every subsequent year. Your system should keep track of zones, agents, policy holders and their details. In addition V. Rajaraman/IISc. Bangalore M15/V1/Sep 05/4 System Analysis and Design/Case Study Question Bank to operational information, your system should handle queries such as the following: Which agents perform consistently well/badly? Which areas can be assigned to more agents and which have already too many? Which type of policies perform well/badly? 5. Book Publisher’s Assistant This system attempts to help a book publisher in maintaining details about his books, customers, receipts/payments, etc. A book may be published afresh or it could be a new Edition or just reprint. The copyright may belong to either the author(s) or publisher. The publisher may reprint any number of copies if he holds the copyright. If the author holds the copyright, he may publish only as much as is asked by the author. Further, the publisher may have to pay royalty in such a case for every book sold. Various book sellers, libraries, institutions, etc., order books. If the required number of copies is available the publisher sends the books and updates his stock level. If they are not available, he may send a partial consignment provided it is acceptable to the customer. Payments may be either cash/credit, subject to suitable credit limits. The publisher may decide to reprint a popular book if he holds the copyright. Otherwise he approaches the author for consent. The author may also revise it and the publisher brings out a new edition. Assume that the publisher has published roughly 10,000 books of various titles in various subjects and that roughly 100 new books are oublished every year and that 100 new editions are also brought each year. Assume that 200 reprints of various books are also published. The minimum number of copies published is 1000. On an average about 5000 copies of each book is published. Your system should provide the following information: A list of various customers, libraries, etc., placing orders has to maintained, with relevant details. For each customer the list of books ordered with details such as cost, address of customer, date of order, date of delivery, qty.delivered, etc. Details of reprints, new editions of books. Details of current stock, books and their quantity in publication etc. Books published by an author. List of books in a given subject The books that get sold out fast, the authors who are popular, etc. The publisher would also like to send a list of new books published every year to various customers/libraries, etc., with relevant details such as title and author. V. Rajaraman/IISc. Bangalore M15/V1/Sep 05/5 A BRIEF OUTLINE OF ANALYSIS AND DESIGN OF SYSTEM FOR ROOM BOOKING IN A HOTEL STATEMENT OF PROBLEM This project addresses the information required by a hotel to book rooms and clear the bills of customers. The hotel decides to computerize room booking and customer checkout formalities. The hotel has various types of rooms. It wants to allow booking online through the internet besides normal booking by phone, letter and also spot booking on arrival of the customer. The hotel management is willing to invest in a PC with internet connection. It is also willing to train the staff at the reception desk to handle computerized booking. It is unwilling to invest in local network in the hotel, which would allow on-line updating of customer charges. Customer bills are sent from restaurant, laundry etc to the reception desk accountant for manual updating of accounts. As the hotel is small with only 177 rooms, this is feasible. A FACT GATHERING AND REQUIREMENTS SPECIFICATION i) Hierarchy chart of the organization Manager Hotel Staff Front desk receptionist House keeping staff Restaurant staff Communication systems Accounts office ii) List of persons to be interviewed Manager Front desk receptionist Accounts staff ii) Questions to be asked a) b) c) d) e) f) g) h) i) j) k) What are the various rooms and their details? What are the rates applicable to each type of room? Is advance booking like booking via internet, phone etc to be allowed? What are the facilities provided by the hotel? Is the utilization of these considered as extra charges or is it included along with the room charges? What are the functions of the front desk receptionist? What communications services are provided? How many days ahead of stay can a room be reserved? Can companies book rooms on credit and clear the bills when sent to them? Can a person extend his stay? What if the customer does not turn up even after he books? iii) Records of Discussion: a) The hotel has rooms in the first, second and third floor. b) Rooms may be regular/deluxe/suite type and can be either single/double/triple. c) Suite types are double or triple occupancy. d) Rooms may or may not be air-conditioned. e) All deluxe/suite types are always air-conditioned f) The no of rooms and booking rates are shown below: Rates per day (Rs) and No of rooms in each floor Regular No. of 50 75 20 30 10 10 G 30 30 10 15 05 F Deluxe No. of 30 40 05 G 40 20 10 F Suite Rate No. of rooms 500 700 10 03 G 30 20 05 07 F S Rate AC Single Non-AC Single AC Double Non-AC Double AC Triple Non-AC Triple Floor 150 100 250 175 350 275 rooms 20 30 10 15 05 S Rate 250 400 600 - rooms 40 20 10 S g) Facility for online booking on the internet is to be provided. Form specifying the customer details, room request, date of arrival, duration of stay, credit card details etc has to be filled and submitted, and the hotel management should be able to respond immediately. h) A room can be booked a week well in advance with an advance payment. Advanced booking by a company for its employees is allowed. But this requires an advance of 50% of estimated charge to be paid. The customer can cancel anytime up to 5:00 pm, the day prior to arrival. No cancellation charge applies, the advance amount is refunded, unless you cancel after this time, in which case the cancellation fee equivalent of one night’s stay, is charged. i) The check-in and checkout time for the customer is 2:00pm. He is allowed to stay 1hr after the checkout time without any charge. After that (provided the room is not booked), he is charged with a rent of ½ a day j) Booking by phone is to be provided. In this case also credit card details are to be provided and the hotel should be able to confirm reservation immediately. k) The customer books the room and does not turn up, he also does not intimate the hotel for canceling of rooms, then his advance amount is forfeited. l) If the customer wants to extend his stay beyond 7 days, he needs to pay at least 50% of his current amount balance, then he is eligible for extension. m) If the customer wants to reduce his stay, he need to inform the hotel staff 1day prior to the checkout time, otherwise his money will not be refunded. n) If the customer is averse to giving his credit card details on the Internet he could download the reservation form and send the completed form through FAX along with credit card details. o) The facilities provided by the hotel which the customer can avail are bar, restaurants, room services, laundry services, travel packages, swimming pool, rooms with computers and internet connection for surfing, shopping mall, parking garage for overnight or short term parking, communication systems like telephone, fax, room service, extra beds and ATM counter. p) The modes of payments are credit card or cash or billing to companies. When the customer checks out his/her bills include in addition to room charges extra charges for facilities used by him such as telephone, telex, fax services, extra beds, laundry services and Internet surfing. q) The customer is allowed to extend his stay provided the room is vacant and is not been booked by any other customer on the same dates. r) The responsibility of the front office which should have access to the computer are: (i) Room booking (ii) Collating all bills (such as room rent, room service, restaurant, communications) of a customer and charging it to customers room account. (iii) Preparing consolidated bill for a customer and collecting amount due on departure or charging to credit card or sending it to the company booking accommodation (iv) After sending bill to company follow up on payment of bill. (v) Reconciling credit card bills with payments credited to hotel’s account by credit card issuing bank (periodically normally once a month) (vi) When a bill is paid and a customer checks out of the hotel immediately inform housekeeping to get the room cleaned and ready for the next occupant. (vii) When housekeeping phones and says the room is ready include in the vacant rooms list iv) Document flow diagram Not available, list of available rooms Request for room reservation through Web/Phone/letter/spot request/company request Customer details Response to request Informs ready status of the room HOUSE KEEPING STAFF Informs about the exit CUSTOMER FRONT END OFFICE Checks Updates AVAILABLE ROOMS IN EACH FLOOR Customer details Informs about the bill settlement CREDIT CARD Advance/Payment /CASH Avails FACILITIES Accept after checking validity EXIT/CASH COUNTER Room rent +Extra charges for use of facilities Invoice/ Receipt of cash payment The outputs of the Document flow diagram: a) List of available rooms in each floor b) Generation of invoice, including the room rent and extra charges of the facilities availed. c) Updating of the available room list after a customer vacates. B SYSTEM SPECIFICATIONS (i) Detailed DFD Confirms Room reservation Room Not Available List of available rooms Avails CUSTOMER Requests for room/Exit request 1. Processing a room reservation request Checks availability Available Rooms 3. Facilities Records Receipt/ Invoice Customer details List of facilities and its cost details Confirms room reservation /Informs about the exit Advance/Payment Confirms Room reservation Updates Available rooms Informs vacating rooms Informs the ready status of the room House keeping staff Checks 2. Payment Section Confirms Bills for use of facilities Validity of the credit card Inform about the allotment Room request Company database Room rates Invoice Payments Receipt/Remainder Intimate about unreconciled accounts Invoices for use Customer accounts Update customer accounts Company customer 4. Reconciliation of accounts Bank Update Reconciled accounts Credit card payment The functions of the each process in the DFD are as follows: Functions of Process1 a. When a particular room request is obtained from the customer via Internet browser or phone or fax, checks if the requested room is available from the AVAILIABLE ROOM database (Room No, Type of room, Rent, Status). b. If the requested room is available CUSTOMER DETAILS (Customer name, Type of room, Contact Address, Credit card No, Date of Arrival, Date of leaving) is recorded, saved in the database so that Process2 can access it. Inform the customer about the room allotment, after Process2 sends the confirmation of allotment. c. If the requested room type is not available intimate the customer so that he could ask for an alternate room or try elsewhere. d. If the customer is been sponsored by a company check for the availability of the room from the database and confirm the allotment if available. Obtain the customer details and inform about the allotment to the Process2. e. The check-in and checkout time for the occupant is 2:00pm. The customer is allowed to stay 1 hr after the checkout time without cost, after which he is charged with ½ day charge. Inform Process2 for the transactions. f. If there is request for exit from the customer, inform Process 2 g. Informs the house keeping staff upon exit of a customer, so that the room can be made ready for the next occupant. h. Upon cancellation of room reservation or reducing the number of days of stay request, intimate Process2, so that it can take care of forfeit charges. i. If the customer requires an extension, check whether the room is not allotted to some other customer and hence is vacant. If it is vacant and is not booked by any other customer, provide extension for stay, otherwise deny the request. j. Incase of a customer’s request to extend his stay after 7 days, the customer is asked to pay 50% of his current account balance, provided the room is vacant and is not booked by any other customer. Inform Process 2. Allot the room after confirmation obtained form Process 2. k. If the customer does not turn up after advance booking of the room and does not send and cancellation request he is forfeited with the advance amount. Inform Process 2 for payment transactions. Functions of Process 2 a. For the customer who is sponsored by a company maintain his accounts in a COMPANY DATABASE (Customer Name, Company, Type of room, Contact Address, Date of Arrival, Date of leaving). b. Collect advance payment from the customer either by cash or by credit card based on the room rates and advance payment conditions. If credit card, checks for the validity of the credit card and confirms him about the room allocation. c. Maintains customer’s accounts in CUSTOMER ACCOUNTS database (Room no, Advance, Extra charges, Forfeited cost, Total). d. Send the customer receipt of the current transactions. e. Updates the AVAILABLE ROOM list in the database after allotment. f. Inform Process 1 about the confirmation of room request. g. At the time of the ordinary customer’s checkout, give the customer the INVOICE (Customer Name, Date of Arrival, Date of Departure, Room type, Room rent, Name of facility, Date when used, Facility cost, Last Date of Payment, Total) and collect dues. h. Incase of a customer who wants to extend his stay, even after 7 days of his stay in the hotel, provide him an invoice of the current balance account and request him to pay 50% of the dues. After payment, update the account database and inform Process1. i. Confirm Process1 about the exit of the customer and update the available room database j. Incase of cancellation, the customer can cancel anytime up to 5:00 pm, the day prior to arrival. No cancellation charge applies, the advance amount is refunded, unless you cancel after this time, in which case the cancellation fee equivalent of one night’s stay, is charged. k. If the customer wants to reduce his stay he has to inform the hotel staff 1 day prior to the checkout time, otherwise his money is not refunded. l. Incase of a customer who has not turned up after advance booking of the room, he is forfeited with advance amount. Functions of Process 3: a. Updates the customer accounts database by the details of FACILITIES (Room no, Facility details, Cost) availed by the customer and its corresponding charges. Sends invoices to Process 2 for updating customer’s accounts. Functions of Process 4: a) Send the invoice to the company at the time of exit of customer stating the deadline within which the due is to be settled. b) Provide a receipt after the settlement of the dues. c) Update the CUSTOMER ACCOUNTS database. d) Update the RECONCILED ACCOUNTS (customer name, organization name, room number, duration of stay, total amount) database. e) Send a remainder to company if the accounts are not settled within the specified deadline f) Inform the bank about unreconciled credit card payments. The structured English description of each process is given below: Procedure for process1 (a) for every room request obtained from a customer do check if the requested room is available if the requested room is available then record the customer details. Inform the customer of the room allotment after Process2 confirms it. else intimate the customer about the non-availability of the room end for (b) for every room request obtained from a company on behalf of a customer do check if the requested room is available if the requested room is available then Inform the company of the room confirmation Record the company customer details. Inform Process2 about the allotment. else Intimate the company about the non-availability of the room; end for (c) for every exit request by the customer do Inform process2 about exit request; end for (d) for every room exit info obtained do Inform the house keeping staff so that the room can be made ready for the next occupant; end for (e) for every cancellation of room request obtained do Inform Process2 about the cancellation; end for (f) for every request for extension obtained by the customer do Check whether the room is vacant and is not booked by any other customer; if the room is vacant then accept the request for extension; else deny the request; end if if the customer is been staying in the hotel for 7 days and requires extension then Inform Process2 for 50% of due settlement; Allot the room to the customer after confirmation obtained from Process2; end if end for (g) for every customer who does not turn up after advance booking of the room do Inform Process2; end for Procedure for process2 (a) for every room allotment request obtained from a customer do receive an advance payment by the customer if the mode of payment is credit card then check for the validity of the card inform Process1 about the confirmation; Send the customer the receipt of current transaction; else if mode of payment is cash then Collect the advance cash Inform Process1 about the confirmation; Send the customer the receipt of current transaction; else State as room not allotted; end if end for if the room is allotted then Create the customers account to maintain the customer’s transactions; Update the customer accounts database; end if (b) for room allotment information obtained by Process1 about the company customer do Record the details in the company database Update the customer accounts; end for (c) for every extension request obtained form Process1 then Send the invoice to customer asking him to pay 50% of the current balance; After payment, update the customer accounts database; Inform Process1 to confirm allotment; end for (d) for every exit request obtained do if he if not a company customer then Give the customer the invoice by getting details from the customer’s account; Collect the payment; Update the available room database; Inform Process1 about the exit; else if he is an company customer then Inform Process4 about the exit end if end for (e) for every cancellation request obtained form Process1 do if it is within 5:00 pm and one day prior to the arrival then No cancellation fee is charged; Cancel the booked rooms; Update available room database; else Charge the customer with the cost equal to one nights stay; Issue the cancellation receipt; Update the customer account database; end if end for (f) for every customer who has not turned up after booking the room do forfeit his advance amount; Issue the receipt; Update the customer account database; Update the available room database; end for (g) for every customer at the time of checkout do if the customer wants to stay 1 hr after checkout time then the customer is not charged; else charge him with ½ a days charge after 1 hour; Update the customer account database; end if end for Procedure for process3: (a) for facilities availed by the customer do update the customer’s account by the price of the facility made use of; end for Procedure for process4: (a) for every company customer who is exiting from the hotel do Send the invoice specifying the deadline within which the dues are to be paid to the company; if the mode of payment is cheque, and is within the dead line then collect the invoice payment; update the customer’s account; update reconciled accounts database; provide a receipt of the current transaction; else Send the remainder to the company; end if if the mode of payment is credit card then collect the invoice payment from Bank; update the customer’s account; update reconciled accounts database; else if amount from the bank has not reached the hotel within the deadline then intimate the bank about the unreconciled amount Send a remainder to the company end if end for ER DIAGRAM 1 Customer Num Customer Name Customer type Date of arrival Duration Address Customer Num Room type Date of arrival Duration Room Num Room type Check-in time Checkout time Cost/day Customer Request Rooms ER DIAGRAM 2 Room Num Room type Check-in time Checkout time Cost/day Rooms Allocated to Room num Customer num Customer ER DIAGRAM 3 Customer Num Customer Name Customer type Date of arrival Duration Address Customer Customer Num Customer Name Customer type Date of arrival Duration Address Customer num Facility Num Date of use Avails Facilities Facility Num Facility name Facility Cost Facility Details ER DIAGRAM 4 (At the time of Exit) Customer Num Customer Name Customer type Date of arrival Duration Address Customer Pays Customer Num Invoice Num Last date for payment Invoice Invoice Num Customer Num Date of payment Customer Name Date of Arrival Date of departure Room Num Room type Room rent Facility Num Name of facility Date when used Facility cost Advance paid Total ER DIAGRAM 5 Customer Num Invoice Num Last Date of payment Customer Name Date of Arrival Date of departure Room Num Room type Room rent Facility Num Name of facility Date when used Facility cost Advance paid Total Outstanding Invoices Sent to Invoice Num Customer Num Last date for payment Customer Customer Num Customer Name Customer type Date of arrival Duration Address ER-DIAGRAM 6 (Incase of cancellation of room and when the customer does not turn up after booking the room, or when he is reducing his duration of stay) Cancellation Receipt Receipt Num Customer Num Customer Name Advance paid Check-in time Checkout time Forfeited cost/ Cancellation fee Balance amount Sent to Receipt Num Customer Num Customer Customer Num Customer Name Customer type Date of arrival Duration Address Normalized relations Customer : Customer Num, Customer Name, Date of arrival, Duration, Address, Customer type. Room: Room Num, Room type, Check-in time, checkout time, Room cost/day Customer-room relation : Customer Num, Room Num Facilities: Facility Num, Facility name, Facility Cost Customer-facility relation: Customer Num, Facility Num, Date of Use Invoice : Invoice Num, Customer Num, Customer Name, Date of Arrival, Date of Departure, Room type, Room rent, Name of facility, Date when used, Facility cost, Last Date of Payment, Total. Customer-pays-Invoice relation: Customer Num, Invoice Num, Last date of payment USER INTERFACE MAIN MENU 1. MENU A: BOOKING 2. MENU B: PAYMENT SECTION 3. MENU C: FACILITIES 4. MENU D: EXIT 5. MENU E: RECONCILIATION 6. MENU F: EXTENSIONS 1. MENU A: BOOKING a) Types and cost of rooms b) Conditions for booking c) Request for customer details d) Check for the availability of the room e) Respond to the customer f) Exit from MENU A 2. MENU B: PAYMENT SECTION a) Accept advance payment (after checking validity if necessary) b) Send confirmation of room allocation c) Add the customer to the customer accounts database d) Update the Available room database e) Exit from MENU B 3. MENU C: FACILITIES a) List of Facilities and cost details b) Update customer account c) Exit from MENU C 4. MENU D: EXIT a) Send the invoice b) Accept full payment c) Update the Available room database d) Inform house keeping staff e) Exit from MENU D 5. MENU E: RECONCILIATION a) Send the invoice b) Accept cheque or credit card mode of payment c) Provide a dead line for the payment d) Send remainder if not paid within the dead line 6. MENU F: EXTENSIONS a) Forfeit amount on cancellation b) Display invoice c) Print invoice d) Update available room database e) Exit from MENU E CONTROL AUDIT AND TEST PLAN USE CASE: Room reservation Goal in context: A customer requests for a room and is allocated if available. Primary Actor: Customer Level: User Goal level Precondition: Advance online booking requires that the customer has a valid credit card and an advance payment is required if the booking is via phone. Booking on arrival requires, if the requested room is available, 50% of the room rent to be paid. Success Guarantees: Room requested is available and credit card must be valid incase of advanced booking. Failure: The requested room is not available; the Customer can select form the available list of rooms. Trigger: Customer sends a request for room reservation. Scenario: 1.Customer initiates the requests. 1a. The customer can send an online request. Form specifying the customer details, room request, date of arrival, duration of stay, credit card details etc has to be filled and submitted, and the hotel management would respond as quickly as possible after checking the validity of the credit card. 1b. The customer can book the room via phone. But this requires a deposit of room rent for 1 or 2 nights be sent within 10 days to guarantee the reservation. 1c. The customer can book a room by going to the hotel personally and is allocated the room if available and asked to pay an advance amount. 1d. Advanced booking by a company for its employees is allowed. But this requires an advance of 50% of estimated charge to be paid. 2. Front desk receptionist checks for the list of available rooms, if available records customer details. 2a. If the requested room is not available the customer is intimated and he could book a room from the available list. 2b. Intimate the Payment section when there is request from the customer for exit. 2c. If the customer request for an extension check if the room is not booked by any other customer, agree for the extension for not allotted otherwise deny the request for extension. 2d. Incase of the customer who would like to extend his stay after staying for 7 days in the hotel, he has to pay 50% of his current account balance. 2e. Incase of cancellation, the customer can cancel anytime up to 5:00 pm, the day prior to arrival. No cancellation charge applies, the advance amount is refunded, unless you cancel after this time, in which case the cancellation fee equivalent of one night’s stay, is charged. 2e. For a customer who has booked the room in advance but has not occupied, advance amount is forfeited. 3. Accounts staff in the payment section manages/accepts the advance payment and confirms room allocation after checking the validity of the credit card, if the payment was via credit card. 3a. The Payment section maintains the customer accounts and this includes along with room charges and advance payment, the extra charges of the facilities the customer has availed, such as telex, telephone, fax services, extra beds, laundry services, internet surfing, shopping mall and bar and restaurant. 3b. Upon intimation about the customers exit, sends invoice to him, after deducting his advance payment. 3c. Cheque or Credit card mode of payment is accepted if the customer is from a company 3d. A deadline is mentioned within which the payment has to be made, otherwise a remainder is sent. 4. The House keeping staff is informed so that the room can be made ready for the next occupant, after the customers exit. 5. If the customer wants to reduce his stay, he need to inform the hotel staff 1day prior to the checkout time, otherwise his money will not be refunded. Extensions: 1. The check-in and checkout time for the customer is 2:00pm. He is allowed to stay 1hr after the checkout time without any charge. After that (provided the room is not booked), he is charged with a rent of ½ a day 2. The customer is informed if the room requested is not available and he could book another from the available list. 3. If the customer finds unsafe to book via internet he could download the reservation form and send the completed form through FAX along with photocopy of both sides of the credit card. 4. Bookings made must be guaranteed immediately with a credit card to reserve the room. Channel to Primary Actor: The customer can book the room personally. Advanced booking can be made via Internet browser, Phone or FAX. Test plan: 1. Enter a room number, which is already allotted, during booking and see the response. 2. Enter a room number, which is not allotted and see the response. 3. Enter an invalid credit card number and check the response. 4. Create payment transactions scenarios and see the result. 5. Use the facilities options and see if it’s updating the customer accounts. 6. Check the response when the customer exits 7. Check if the remainder is sent, when the deadline for payment is not met. IMPLEMENTATION PLAN 1. Design the input screen 2. Create a database of available rooms, their cost and their status 3. Create a database for customer details 4. Create customer accounts database 5. Integrate all database and processes designed 6. Test each process designed using sample data 7. Create transactions to check the various processes mentioned in the test plan. 8. Create user manual 9. Create systems manual 10. Design user’s feedback form and system review plan DATA DICTIONARY Customer Customer Num: Num(10), Primary Key Holds the Unique Customer Number Customer Name: First Name: char (50) Last Name: char (50) Holds the name of the Customer Customer Address: Has information about the customers address Street: char (50) City: char (50) State: char (50) Zip: num (50) Phone: num (50) Email: varchar (50) Date of arrival: Varchar (10) Has the date when the customer arrived to the hotel in the form DD/MM/YYYY Duration: Num(3) This field contains the duration of the customers stay Customer Type: Num(1), Not Null Two types of customers 1 Company Customer 2 Ordinary Customer Facilities Facility Num: Num(2), Primary Key Holds the serial number of each facility Facility Name: Char(50) Holds the name of the facility provided by the hotel. [The list of facilities provided by the hotel is as follows: Telephone, telex, fax services, extra beds, laundry services, internet surfing and Restaurant]. Facility Cost: Num(7) Contains the cost charged for each facility Room Room Num: Num(3), Primary Key This field contains the room number Room type: Char(1) The room types can be as follows: AC Single Non-AC Single AC Double Non-AC Double AC Triple Non-AC Triple Room cost/day: Num(3) Contains the cost of the room charged on daily basis Check-in time: Varchar(7) Records the time when the customer checked into the room Checkout time: Varchar(7) Record the time when the customer checked out of the room Rooms available: Num(3) Has a record of Number of room currently available Invoice Invoice Num: Num (10), Primary Key Contains a unique Invoice number Customer Num: Num(10) Holds the customer number Date of arrival: Varchar (6) Has the date when the customer arrived to the hotel Date of departure: Varchar (6) The date when the customer leaves the hotel Room type: Char (1) The room types can be as follows: AC Single Non-AC Single AC Double Non-AC Double AC Triple Non-AC Triple Room rent: Num (3) Contains the cost of the room charged on daily basis Name of facility: Char (2) Holds the name of the facility provided by the hotel. [The list of facilities provided by the hotel is as follows: Telephone, telex, fax services, extra beds, laundry services, internet surfing and Restaurant]. Date when used: Varchar (10) Holds the date when the facility was used in the format DD/MM/YYYY Facility cost: Num(3) Contains the cost charged for each facility Last date of payment: Varchar (10) The date within which the payment has to be made in the format DD/MM/YYYY Advance paid: Num(6) Advance amount paid by the customer. Total: Num(8) The gross amount that the customer has to pay Outstanding invoices Customer Num: Num(10), Primary Key Holds the Unique Customer Number Invoice Num: Num (10), Primary Key Contains a unique Invoice number Last date of payment: Varchar (10) The date within which the payment has to be made in the format DD/MM/YYYY Customer Name: First Name: char (50) Last Name: char (50) Holds the name of the Customer Date of arrival: Varchar (6) Has the date when the customer arrived to the hotel Date of departure: Varchar (6) The date when the customer leaves the hotel Room Num: Num(3), Primary Key This field contains the room number Room type: Char(1) The room types can be as follows: AC Single Non-AC Single AC Double Non-AC Double AC Triple Non-AC Triple Room rent: Num (3) Contains the cost of the room charged on daily basis Name of facility: Char (2) Holds the name of the facility provided by the hotel. [The list of facilities provided by the hotel is as follows: Telephone, telex, fax services, extra beds, laundry services, internet surfing and Restaurant]. Date when used: Varchar (10) Holds the date when the facility was used in the format DD/MM/YYYY Facility cost: Num(3) Contains the cost charged for each facility Advance paid: Num(6) Advance amount paid by the customer. Total: Num(8) The gross amount that the customer has to pay Cancellation Receipt Receipt Num: Num (10), Primary Key Contains a unique Invoice number Customer Num: Num(10), Primary Key Holds the Unique Customer Number Customer Name: First Name: char (50) Last Name: char (50) Holds the name of the Customer Advance paid: Num(6) Advance amount paid by the customer. Forfeited cost/ Cancellation fee: Num(6) Contains the cost the customer will be charged upon cancellation of the booked room. Balance: Num(8) The gross amount that the customer has to pay CASE STUDY 1 A SYSTEM FOR JOURNAL ACQUISITION Statement of Problem A small library in an educational institution subscribes to 300 journals. It is desired to automate the journal acquisition and subscription system. We will follow the steps given in Table1 to analyze and design the system. The first step in design is fact gathering. The outcome of fact gathering is given below. FACT GATHERING AND REQUIREMENTS SPECIFICATION i) Hierarchy chart of the organization LIBRARIAN DEPUTY LIBRARIAN JOURNAL ORGANIZATION Programmer ii) List of persons to be interviewed Library assistant a. Librarian overall incharge of library b. Deputy Librarian incharge of journal acquisition c. Library Assistant who assists deputy librarian ii) Questions to be asked a. b. c. d. e. Why is the computer-based system being considered? What are the basic objectives of the proposed system? What is the volume of data to be processed? What is the frequency of processing? What are the benefits expected from the system? iii) Records of Discussion: a. About 300 journals are subscribed by the Library, with periodicity varying from half yearly, monthly and quarterly b. The journals mostly come from abroad by surface mail and take approximately three months to reach from the date of dispatch c. Loss of journals in mail and delay on publication is also noticed d. If a journal is missed and a request for replacement is sent promptly the publisher normally sends the duplicate copy free of charge e. If the request is not sent promptly then it would be difficult to get the free copy f. Most subscriptions are to be sent in November well ahead of start of new year. g. As foreign exchange payment is involved, renewal an payment is required to be made in advance Currently the entire system is manual and is done by two scientific assistants. They handle approximately 50 journals per week. It is found that follow up of journal acquisition is time consuming and error prone. It is felt that follow up will be easier and faster if a PC is used. As the volume of transactions is not large a standard PC configuration (P4 or AMD processor, 128 MB main memory, 40GB disk, CDROM, floppy disk, 15’’ monitor, standard key board, Windows2000, MSOffice) will be quite adequate. A programmer will develop all the application software in 2 or 3 months. The system is cost effective and is feasible. A detailed feasibility analysis is not essential in the problem. The basic objectives of the system are: a. To follow up regularly receipt of journals, promptly detect delay in receipt of an issue and send a reminder to the journal publisher b. To follow up with the publisher to send invoice for journal subscription well ahead of time c. To renew subscriptions of journal promptly d. To print out each week a list of journals received to be displayed so that users know of the arrival of journals e. To answer queries about the status of subscription, receipts, missing issues, etc, of any journal in the collection The main benefits expected by using the computer–based systems are a. Prompt follow-up with publishers to get replacement of missing issues of journals b. Prompt renewal of subscription and follow up with accounts section. This will avoid late payment of subscription and consequent cancellation of subscription and missing/late issues. c. Ability to answer enquiries about receipt of journals d. Analyze budget for journals, allocation of money to different disciplines. iv) Document flow diagram Journal order and cheque Remainder for journals Remainder for invoice Publisher Invoice Journals Receiving Office Invoice Received Journal Information Journal Processing group Journals Library Journal received list Invoice + Indent reference + cheque Indent Purchase section Accounts section Invoice copy Journals for binding list The outputs required from the system and frequencies of outputs are described below: a. List of journals received - each week b. List of completed volumes ready to be bound – Once a year. c. Journal renewal with subscription to publishers - Before Nov 30 , each year starting on November 1. d. Reminder to publishers on non-receipt of journal – Aperiodic e. Indents for journal procurement to be sent to Accounts section – Before Nov1 each year starting Oct 1 Feasibility of the system We saw that the system is fairly simple and straightforward to implement and can be done with just 1 PC. The benefits here have already been listed. The cost is just that of a PC with system software and applications. It is around Rs 35,000 at 2005 prices. SYSTEM SPECIFICATIONS (i) Detailed DFD Request for missing journal issue 3 Generate reminder Journals not received Journal publisher master Publisher Received journal details 1 Check with order Received journal details 2 Update journals received and print Weekly list Library office Request for invoice Journals ready for binding Journal master Journal expected Journal Received file Invoice for renewal 4 Renewal process Generate Indent Purchase section Payment authorization Accounts section Journal master Journal publisher master 5 Send Payment Draft details with invoice copy Payments detail with Invoice copy Journal master Journal publisher master Journal payment Detail file The functions of the each process in the DFD are as follows: Process 1: 1. When a journal is received check journal ordered master 2. Generate details of journal received (journal identity, name, volume, issue no, month) and send details to Process 2. Process 2: 1. Enter journal received detail in journal received file 2. Print list of journals received during a week 3. Check list of journals expected with the journals received file. Send the list of journals expected and not received to process 3 4. When all issues of journal expected during the year have been received, send the information to journal binding section of the library Process 3: 1. Using the journals not received list, generate reminders to the publishers and request replacement Process 4: 1. In September, October and November check whether an invoice is received from the publisher for journal due for renewal in that month. If not, send request for invoice to the publisher. 2. When an invoice is received from the publisher, generate an indent to be sent to the purchase section Process 5: 1. When payment details with invoice copy are received from accounts, update entry in journal master file, enter payment information in payment detail file and mail payment detail with a copy of invoice to the publisher The structured English description of each process is given below: Procedure for process1 for each journal received do Enter journal identification code, volume and issue no. if journal is in ordered file then Retrieve journal details from master file and send details to Process2; else Give message “Journal not in master. Check identification code entered”; end for Procedure for process2 for each journal received transaction sent by process1 do Enter journal received file; Print journal received in weekly list; end for Send list of journals received during week to the library. At the end of each month for each journal expected during the month do Search in journal received file; if not in file then send journal identification, volume no, and not received transaction to process 3; end for At year end for each journal in journal received file do if all issues of volume received then print journal details in binding list end for Send list to library Procedure for process3 for each journal received note from process2 do using journal identification find publisher details from Journal-publisher master file; print letter requesting replacement to publisher; end for Procedure for process4 At the end the month for each invoice received from the publisher do Search journal master file to find journal details; Search publisher master file to find publisher details; Generate indent and send to purchase section; Enter journal ordered information in journal master file; end for Procedure for process5 for each payment detail received from accounts section with invoice copy do Enter payment details in payment detail file; Enter paid information in Journal master file; Send payment details with invoice to publisher; end for DATABASE DESIGN (i) Data about journals: Journals id, Journal code (ISSN), journal name, vol no, periodicity, parts per number, subject code, language, publisher identification, time allowed for delivery, year of first issue ordered renewed upto year. Data about subscription details : Journal identification, date of invoice to be sent, yearly subscription, currency of subscription, date when subscription sent, subscriber code, amount in rupees, subscription amount in foreign country, invoice no, order no, draft no, draft date, bank name Data about publisher/agent supplying journal: Publisher identification, Publisher’s name, address, agent or publisher. (ii) (iii) The entity-relationship diagram for the application is shown below: 1 Publisher 1 1 Expected from Publishes Ordered from 1 N Journals N The publisher-journal relationship is one-to-many. The normalized relations are given below. Journal: Journal id, journal name, journal ISSN, subject code, language, key words, number per volume, parts per volume, month of first number, year first ordered, renewed upto year. Publisher/Agent: Publisher id, publisher’s name, address, agent or publisher, publisher type. Journal-publisher relation: Journal-id, publisher id Journals Expected: Journal-id, vol, no, first no, month, periodicity, expected delay. Journals received: Journal-id, vol, no of issues in vol, no of issues received, last issue no received. Journal payment details: Journal id, vol, order no, order date, publisher’s invoice no, invoice date, foreign currency amount, rupee amount, draft no, draft date, bank no. The relations needed by each process in the DFD: Process 1. 2. Relations to be read Journal expected Journal Journal expected Journal-publisher Publisher Journal-publisher Publisher Journal Journal-publisher Journal Relations to be written Journal received 3. 4. 5. Journal payment details (iv) Data encoding: All journals have a standard international code known as ISSN that can be used. In our design a simple serial number is used as a code to reduce data entry. In this case this is acceptable as the number of journals is quite small. MENUS FOR DATA INPUT MAIN MENU AUTOMATED SERIALS CONTROL SYSTEM LIBRARY “XYZ” A> ORDER PROCESSING B> JOURNAL MAINTENANCE C> SUPPLIER MASTER MAINTENANCE D> QUERY E> EXIT ENTER YOUR OPTION MENU A : ORDER PROCESSING 1. ADD/DELETE JOURNAL 2. REQUEST FOR INVOICE OR REMAINDER 3. INPUT INVOICE 4. PRINT INDENT LIST 5. ENTER PAYMENT DETAILS 6. PRINT PAYMENT DETAILS 7. EXIT ENTER YOUR OPTION MENU B: JOURNAL MAINTEINANCE 1. UPDATE JOURNAL INFORMATION 2. ENTER JOURNAL RECEIVED DETAILS 3. PRINT REMINDERS 4. EXIT ENTER OPTION AND PRESS RETURN MENU C: MAINTAINING PUBLISHER MASTER 1. ADD PUBLISHER NAME 2. DELETE PUBLISHER NAME 3. MODIFY PUBLISHER DETAILS 4. EXIT ENTER OPTION AND PRESS RETURN MENU D: ENQUIRY OR PRINTING ENQUIRY PRINT OPTION DISPLAY A. RECEIVED JOURNALS 1 LIST JOURNALS YEARWISE B. LIST OF JOURNALS BY KEYWORD 2 LIST JOURNALS ALPHABETICALLY 3 LIST NEW JOURNALS 4 LIST JOURNALS BY LANGUAGE 5 LIST JOURNALS BY KEYWORD 6 LIST JOURNALS BY SUBJECT 7 PUBLISHER LIST 8 MAILING LIST 9 BINDING LIST ENTER YOUR OPTION AND PRESS Esc CONTROL, AUDIT AND TEST PLAN Control plan 1. Check whether duplicate copies of an issue of a journal have been received 2. Check whether invoice amount and order amount match 3. Check on Nov 30 whether total number of periodicals for which renewal subscriptions sent equals number of titles in the subscription list Audit plan 1. Compare total order amount with total payment amount (draft volumes) 2. Check that no duplicate renewals here been sent when duplicate invoices from publisher is received. Test plan: 1. Enter a wrong journal code and see the response 2. Enter a correct journal code and see the response 3. Enter a wrong journal volume and see the response 4. Enter a few journal codes expected in a month and see the response 5. Create a journal not received transaction and see the result of processing 6. Try giving year end message and see the effect 7. Create payment details transaction and enter to see the effect 8. The input screens must have prompts and messages if incorrect data is entered. IMPLEMENTATION PLAN Codify journals being subscribed Create a master database of journals with details Codify publishers and agents who supply journals Create a master database of publishers with addresses Create journal id, publisher id, database Based on knowledge of delays in delivery, enter in journal expected relation the expected delay 7. Create a sample set of weekly, monthly and year-end transaction 8. Create transactions corresponding to receiving draft from accounts for subscription payment. 9. Design screens for data input and query answering 10. Test each process using sample data 11. Integrate all processes and databases 12. Create user manuals 13. Create system manuals 14. Design user’s feedback forms and system review plan (i) System’s manual: A one page instruction is prepared on how to use the system. As the system is interactive with screens and prompts, no extensive user manual is needed User’s feedback form: This form should be designed to obtain user’s opinion on ease of use, ease of data input, quality of screens and system response time Review plan: The system is to be reviewed at the end of one year. 1. 2. 3. 4. 5. 6. (ii) (iii) AVAILABLE CASE TOOLS I. SYSTEM FLOWCHART AND ER-DIAGRAM GENERATION TOOL Name of the tool: SMARTDRAW URL: This Software can be downloaded from: http://www.smartdraw.com. This is a paid software, but a 30-day free trial for learning can be downloaded. Requirements to use the tool: PC running Windows 95, 98 or NT. The latest versions of Internet Explorer or Netscape Navigator, and about 20MB of free space. What the tool does: Smartdraw is a perfect suite for drawing all kinds of diagrams and charts: Flowcharts, Organizational charts, Gantt charts, Network diagrams, ER-diagrams etc. The drag and drop readymade graphics of thousands of templates from built-in libraries makes drawing easier. It has a large drawing area and drawings from this tool can be embedded into Word, Excel and PowerPoint by simply copy-pasting. It has an extensive collection of symbols for all kinds of drawings. How to use: The built-in tips guides as the drawing is being created. Tool tips automatically label buttons on the tool bar. There is online tutorial provided in: http://www.smartdraw.com/tutorials/flowcharts/tutorials1.htm http://www.ttp.co.uk/abtsd.html II. DATA FLOW DIAGRAM TOOL Name of the tool: IBMS/DFD URL: This a free software that can be downloaded from: http://viu.eng.rpi.edu Requirements to use the tool: The following installation instructions assume that the user uses a PC running Windows 95, 98 or NT. Additionally, the instructions assume the use of the latest versions of Internet Explorer or Netscape Navigator. To download the zip files & extract them you will need WinZip or similar software. If needed download at http://www.winzip.com. What the tool does: The tool helps the users draw a standard data flow diagram (a process-oriented model of information systems) for systems analysis. How to use: Double click on the IBMS icon to see the welcome screen. Click anywhere inside the welcome screen to bring up the first screen. Under "Tools" menu, select DFD Modeling. The IBMS will pop up the Data Flow Diagram window. Its menu bar has the File, Edit, Insert, Font, Tool, Window and Help options. Its tool box on the right contains 10 icons, representing (from left to right and top to bottom) pointer, cut, data flow, process, external entity, data store, zoom-out, zoom-in, decompose, and compose operations, respectively. Left click on the DFD component to be used in the toolbox, key in the information pertaining to it in the input dialogue box that prompts for information. To move the DFD components: Left click on the Pointer icon in the tool box, point to the component, and hold Left Button to move to the new location desired in the work area. To edit information of the DFD components: Right click on the DFD component. The input dialogue box will prompt you to edit information of that component. Levelling of DFD: Use the Decompose icon in the tool box for levelling To save the DFD: Under File menu, choose Save or SaveAs. Input the name and extension of the DFD (the default extension is DFD) and specify folder for the DFD to be saved. Click OK. III. TOOL TO CONVERT DECISION TABLE TO STRUCTURED ENGLISH Name of the tool: COPE URL: This is a free tool and should be worked online at http://www.cs.adelaide.edeu.au/users/dwyer/examples.html What the tool does: Cope is a program that converts decision tables to Cobol source statements How to use: The general arrangement of a Cope decision table is shown in Example below. This table consists of a heading and four rows. The first two rows are conditions, and the last two are actions. A condition row consists of a number of entries followed by the word is and a Cobol condition. An action row consists of a series of entries followed by a Cobol statement. Example: YYNN YNYN XX - -XXX is A = 0. is B = 0. Move 0 to C. Add 1 to C. Type in the Decision table in the text area provided (each line should start with 6 blanks and an asterisk), click on “Generate Cobol” to obtain the Cobol statements of the Decision table. There is online help provided at: http://www.cs.adelaide.edu.au/users/dwyer/COPE-MAN.html#RTFToC1 Another tool (to be worked online) for program code generation from Decision table can be found at http://dtable.projxonline.com/Default.aspx Note: The tools to convert Decision Tables to Structured English is not available. IV. SYSTEM REQUIREMENTS SPECIFICATION DOCUMENTATION TOOL Name of the tool: ARM URL: The tool can be downloaded without cost at http://sw-assurance.gsfc.nasa.gov/disciplines/quality/index.php What the tool does: ARM or Automated Requirement Measurement tool aids in writing the System Requirements Specifications right. The user writes the SRS in a text file, the ARM tool scans this file that contains the requirement specifications and gives a report file with the same prefix name as the user’s source file and adds an extension of “.arm”. This report file contains a category called INCOMPLETE that indicate the words and phrases that are not fully developed. Requirements to use the tool : PC running Windows 95, 98 or NT. The latest versions of Internet Explorer or Netscape Navigator, and about 8MB of free space. How to use the tool : On clicking the option Analyze under File menu and selecting the file that contains the System Requirements Specifications, the tool processes the document to check if the specifications are right and generates a ARM report. The WALKTHROUGH option in the ARM tool assists a user by guiding him as to how to use the tool apart from the HELP menu. The README.doc file downloaded during installation also contains description of the usage of this tool. V. A TOOL FOR SCREEN DESIGN AND DATA INPUTTING Name of the tool: Visual Basic URL: http://www.microsoft.com/downloads/details.aspx?FamilyID=bf9a24f9-b5c548f4-8edd-cdf2d29a79d5&displaylang=en What the tool does: This tool is used to create the graphical user interface (GUI) to describe the appearance and location of interface elements, you simply add prebuilt objects into place on screen. Help: http://msdn.microsoft.com/library/default.asp?url=/library/enus/vbcon98/html/vbconpart1visualbasicbasics.asp VI A TOOL FOR DESIGNING AND MANIPULATING DECISION TABLES Name of the tool: Prologa V.5 URL: http://www.econ.kuleuven.ac.be/prologa Note: This tool can be downloaded from the above given URL, after obtaining the password. What the tool does: The purpose of the tool is to allow the decision maker to construct and manipulate (systems of) decision tables. In this construction process, the features available are automatic table contraction, automatic table optimization, (automatic) decomposition and composition of tables, verification and validation of tables and between tables, visual development, and rule based specification. TEST EXAMPLES Module1 1. What would be the strategic, operational and tactical needs of a State Road Transport Corporation? 2. What do you think are the functional management areas in a large Students hostel? 3. Explain how data will be processed in a bank when a cheque is presented by a customer and payment made to him (assume the bank uses computers) Module2 4. What benefits do you expect if an information system for a hostel is designed? 5. In designing an information system for a hostel what constraints should be taken into account during feasibility analysis? Module3 6. A hostel warden states the following requirements for a hostel information system: "Our hostel has 500 rooms and 4 messes. Currently, there are 1000 students all in 2 seated rooms. They eat in any one of the messes but can get a rebate if they inform and do not eat for at least 4 consecutive days. Besides normal menu, extra items are also given to students when they ask for it. Such extras are entered in an extras book. At the end of the month a bill is prepared based on the normal daily rate and extras and given to each student. We find that bill preparation is delayed. We are also not able to keep proper track of payments and billing for extras. We need a system to streamline this". Obtain a document flow diagram for the problem described above. Module4 7. Is it essential that an operationally feasible solution should be technically feasible? Discuss with examples. A system costs Rs.1 lakh to install and Rs.10,000 per month as recurring expenses. The benefit per year is Rs.1.5 lakhs. Assuming an interest rate of 12% per annum, what is the pay back period of the investment? 8. 9. A project costs Rs.2 lakhs and the net benefits are Rs.50,000 (1st year), Rs.80,000 (2nd year),Rs.90,000 (3rd year), Rs.70,000 (4th year), Rs.50,000 (5th year), and Rs.30,000 (6th year). Assuming 10% per annum interest rate, would you proceed with this project if your criterion is cost/benefit? Module5 10. A magazine is published monthly and is sent by post to its subscribers. Two months before the expiry of subscription, a reminder is sent to the subscribers. If subscription is not received within a month, another reminder is sent. If renewal subscription is not received up to two weeks before the expiry of the subscription, the subscriber's name is removed from the mailing list and the subscriber informed. Obtain logical DFDs for this problem and also a flowchart. 11. Obtain a physical DFD for a simple payroll system described below. A list of employees with their basic pay is sent to a clerk. He calculates the gross pay using standard allowances which are known for each pay slab. Deduction statements such as loan repayment, subscription to associations etc. are also sent to another clerk who matches these slips with the slips of gross pay and calculates net pay. This slip is used by a third clerk to write out pay cheques for each employee and sent to respective employees. The total net pay amount paid and bills paid are also computed. 12. If the procedure of the above problem is to be computerised, obtain a logical DFD for the computer-based system. Module6 13. An organization maintains an employee file in which each record has the following data: (Employee No., employee name, employee gross pay). It has been decided to increase the pay as per the following formula: For pay of Rs.1000 or less increase 15% For pay of more than Rs.1000 but up to Rs.2500 increase 10%. For pay over Rs.2500 increase 5%. (i) Write a structured English processing rule corresponding to the above policies (ii) Express the policies as a decision table. 14. An offshore gas company bills its customer according to the following rate schedule: First 500 litres Rs. 10 (flat) Next 300 litres Rs.1.25 per 100 litres Next 30,000 litres Rs.1.20 per 100 litres Next 100,000 litres Rs.1.10 per 100 litres Above this Rs.1.00 per 100 litres. The input record has customer identification, name and address, meter readings, past and present. Write a structured English procedure to obtain a bill for the customer. 15. Obtain a decision table for an automatic stamps vending machine with the following specifications: (i) To dispense 20, 15, 10, 5 paise stamps (ii) To accept 50, 25, 10, 5 paise coins (iii) Do not return change if it is necessary to return more than two coins of the same denomination. In such a case return the customer's coin and turn on "no change" light. The machine should dispense a stamp, the right amount of change, no stamp available, no change available signals etc. 16. You want to go to Delhi from Bangalore. There are three flights per day; early morning, late morning and evening. You would like to go on 21.4.04 by early morning flight. If it is not available you will take the late morning flight. If neither is available you are willing to take any flight on 22.4.04 but prefer early and late morning flights., Obtain a decision tree for this word statement. Is decisiontable suitable for this problem? If not why? Module7 17. Design a form to be used by a salesman to report to the office about sales executed by him at different customer locations 18. Design a group classification code to code (i) motor vehicles,, (ii) music cassettes, and (iii) books 19. Add a Modulus-11 check digit to the codes (i) 48467, (ii) 96432, and (iii) 87646257. 20. Modulus-37 check is suitable for alphanumeric codes. Add a modulus-37 character to the codes (i) 4AB9W, (ii) XBY483, and (iii) CAZ4642. 21. What is the purpose of batch control record? What is the type of information contained in a batch control record? A set of data records for student examination results has the following format: Roll no. Name Marks (out of 100) Paper 1 Paper 2 Paper 3 Paper 4 Design for these records a batch control record and a record control field and any other appropriate checks for the fields. 22. Design a dialogue hierarchy and the screens for a system used to reserve seats in long distance buses. Module8 23. Develop E-R diagram for the following: Customer withdraws money from his account Students write examinations. Students attend classes Professors write books Driver drives a car 23. Student's records in a University are kept by various sections: Hostel, Health Centre, Academic Office, major departments, Accounts Section and Library. If each of these sections maintains its own file-based system for processing, what problems do you foresee? Give examples. Module9 24. How do you select objects from a requirement specification? Given the following requirement statement, select potential objects. A list of employers with their basic pay is sent to a clerk. He calculates the gross pay using standard allowances which are known for each pay slab. Deduction statements such as loan repayment, subscription to association etc., are also sent to another clerk who matches these slips with the slips of gross pay and calculates net pay. This step is used by another clerk to write out pay cheques for each employee and sent to respective employees. The total pay bills computed is also computed". 25. Give a brief requirements specification for a bus ticket reservation system. Model it using objects. Module10 26. Prepare a print chart for stores data processing system. 27. Pick the appropriate graphics presentation for the following applications: (i) (ii) (iii) (iv) Relative enrollment of students in various departments in a University. Growth of student strength in a department over a period of 10 years. Sales percent of a product in 6 regions of a country. Proportion of total revenue of a state from direct taxes, indirect taxes, public loan, land revenue, income from public sector companies, and miscellaneous receipts. Module11. 28. Give a HTML code to display Introduction to e-Commerce This is a new book 29. Give an example of an extranet Module12 30. A college has 1500 students whose final examination results are declared using computer processing. There are 5 subjects, each carrying 100 marks. Classes are awarded as follows: Marks60 or above, I class Marks 50 or above, II class Marks below 50, Fail Device an appropriate control scheme for processing results. 31. Design a proof figure for the above example. Module13 32. Given a plain text: THIS IS A SAMPLE SENTENCE FOR ENCRYPTION. Apply the permutation (231564) and the substitution: (letter obtain the cipher text. letter + 6 ) and 33. How does DES hardware encrypt the following hexadecimal plain text A1907FBCD986543201FED14E890ABCA5 34. Given two prime numbers 23 and 41 design a RSA system 35. Explain how cash transactions take place in E-Commerce. What special precautions should be taken by a bank to ensure that a customer does not double spend the same electronic coins issued to him/her?
Copyright © 2024 DOKUMEN.SITE Inc.