lecture note

234
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 MODULE 1

Upload: japh-dee

Post on 03-Nov-2014

131 views

Category:

Documents


1 download

DESCRIPTION

lectures

TRANSCRIPT

Page 1: Lecture Note

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

MMOODDUULLEE 11

Page 2: Lecture Note

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.

Page 3: Lecture Note

MANAGEMENT HIERARCHY AND INFORMATION NEEDS

Top Managers

Middle Managers

Line managers

Volume of Information

Type of Information

Low condensed

Medium moderately processed

Large Detailed Reports

Unstructured

Moderately structured

Highly structured

Tactical Short range improvement

Strategic- Long range planning

Operational Day to day policies

Page 4: Lecture Note

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)

Functional areas of management are as follows:

Production manager

Marketing manager

Materials manager

Finance manager

Human Resource manager

Line managers

Page 5: Lecture Note

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

Page 6: Lecture Note

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.

Page 7: Lecture Note

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

Page 8: Lecture Note

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:

Page 9: Lecture Note

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.

Page 10: Lecture Note

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

MODULE 2

Page 11: Lecture Note

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. 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.

Page 12: Lecture Note

LEARNING UNIT 1 Systems Analysis and Design life Cycle: Requirements

determination, requirements specifications LIFE CYCLE OF SYSTEMS ANALYSIS AND DESIGN SStteeppss iinnvvoollvveedd iinn AAnnaallyyssiiss aanndd DDeessiiggnn 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.

Page 13: Lecture Note

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.

Page 14: Lecture Note

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.

Page 15: Lecture Note

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

Page 16: Lecture Note

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

Page 17: Lecture Note

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.

Page 18: Lecture Note

MMOODDUULLEE 33

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

Page 19: Lecture Note

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.

Page 20: Lecture Note

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.

Page 21: Lecture Note

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.

Abdulrahman
Sticky Note
State purpose of d interview. Be puntual nd pay attention 2 wht d user says 2 u. Do nt use computer jargon.
Page 22: Lecture Note

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.

Page 23: Lecture Note

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 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

Vendor Receiving Office

Inspection office

Purchase Office

Delivery note Items Received note Discrepancy

note

Delivered Items Delayed Items

Indicates Physical flow of items

Indicates Documents

Page 24: Lecture 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 •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

Vendor Receiving Process

Inspection Office

Purchase Office

Orders

Delivery note

Items Received note

Discrepancy note

Page 25: Lecture Note

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.

Page 26: Lecture Note

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.

Page 27: Lecture Note

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.

Page 28: Lecture Note

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

MODULE 4

Page 29: Lecture Note

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 decision-making.

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

Page 30: Lecture Note

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

Page 31: Lecture Note

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

Page 32: Lecture Note

(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

Page 33: Lecture Note

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

Page 34: Lecture Note

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

Page 35: Lecture Note

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.

Page 36: Lecture Note

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

Page 37: Lecture Note

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

Page 38: Lecture Note

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 cumulative Benefit of Benefit 0 1,30,000 0 0 1 31,740 31271 31271 2 31,740 30809 62080 3 31,740 30354 92434 4 31,740 29905 122339 5 31,740 29463 151802 This also give us less than 5 months as pay back period STRUCTURE OF EXCUTIVE SUMMARY

Page 39: Lecture Note

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.

Page 40: Lecture Note

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.

Page 41: Lecture Note

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

Page 42: Lecture Note

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

Page 43: Lecture Note

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

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

1. STORES

Stores demand note

Delivery slip

Issue Advice

PROCESS

Page 44: Lecture Note

A Rectangle represents an external entity. They either supply data or receive data. They do not process data

DATA STORES

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

EXTERNAL ENTITIES

VENDOR CustomerInvoice Order

Bill

Inventory Writing Reading

Page 45: Lecture Note

-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

Page 46: Lecture Note

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 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

Mess Manage

ment

Students

Mess manager Chief warden

Mess Secretary

Vendors Requisitions

Payments

Daily rate

Menu

Overdue Payments

Item needed Each day

Perishable Items

Bills Payments

Extras Note

Supplies

Overdue Bills

Page 47: Lecture Note

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 •Going to next process (Continued in next page) Continued

1 Billing

Students Mess Secretary Chief Warden

Mess manager

Payments Update daily rate

Itemized bills at end of month

Extras/Rebates

Expenses

No of meals (today +3)

Items used each day

Student billing Information + bills

2 Stores issue

and Control system

Mess Manager

Vendors Items used today

Items to be issued (today +2)

Vendor supplies

Order non- perishable

Low stock (today+2)

Unpaid bills

Page 48: Lecture Note

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

3 Perishable ordering

Mess Secretary

Orders (perishable) Vendor data

(perishable)

Vegetables and perishable requisition

Vendor data

Stores inventory Order data

Menu (today +2)

Perishable order

Page 49: Lecture Note

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

Compare

Actual rate > Standard rate

Actual rate <= Standard rate

Actual daily rate

Standard daily rate

Page 50: Lecture Note

A single data flow should not be split into many flows with different labels No data flow allowed between data stores

LEVELLING EXAMPLES

Get students extra/rebates

record

Calculate

Bill

Extra/rebate store

Record

Ask for next record

Above DFD not correct as loop is formed

Ext B Ext A

1 2 4 Ext B Ext A

F1 F4

Top Level

process

Page 51: Lecture Note

LEARNING UNIT 3

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

3

1.1 1.2 1.4

1.3

2.1 2.2 2.3

F1

Ext A

Ext B 4.3 4.1 4.2 3.1 3.2 3.4

3.3

F4

Process 1 Process 2

Clerk Verify A/C Signature Update Balance

Cashier Verify Token

Take Signature

Cash

Token

Page 52: Lecture Note

LOGICAL DFD FOR CHEQUE ENCASHMENT

Customer Cheque Cheque with Token number

Bad Cheque

Customer Accounts

Store cheques Entry in Day Book

Token

Retrieve Customer

Record

Check Balance,

Issue token

Store Token no

& cheques

Search & match

token

Update Daily cash book

Customer

Day book Cash

Token Slip

Cheque with token

Cheque Cheque with Token

Cheque Customer accounts

Cheque store With token no.

Token Slip Or cheque

Page 53: Lecture Note

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, Addison-

Wesley, 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

Page 54: Lecture Note

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.

Page 55: Lecture Note

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

Page 56: Lecture Note

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

Page 57: Lecture Note

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: DECISION TABLE-EXAMPLE Same structured English procedure given as decision table

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

Page 58: Lecture Note

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,

CONDITIONS RULE1 RULE2 RULE3 RULE4

Advance payment made Y N N N

Purchase amt >=10,000 - Y Y N

Regular Customer? - Y N -

ACTIONS

Give 5% Discount Give No Discount

X X - - - - X X

Page 59: Lecture Note

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 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 }

C1

C2

C3

Give 5% Discount

Give 5% Discount

No Discount

No Discount

Y

Y

Y

N

N

N

Y = Yes N = No

Page 60: Lecture Note

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

Page 61: Lecture Note

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

Page 62: Lecture Note

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

Page 63: Lecture Note

DECISION TABLE NOTATION EXPLAINED

CODITIONS Rule 1 Rule 2 Rule 3 Rule 4

C1 : Age >= 21 Y N Y N C2: Deposit >=100 Y Y N N

ACTIONS

A1: Classify as A X - - - A2: Classify as B - X - - A3: Classify as C - - X - A4: Do not open Account - - - X

Condition Stub

Action Stub

ACTION ENTRIES

CONDITION ENTRIES CONDITION STUB

ACTION STUB

Page 64: Lecture Note

• 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,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?

X - -

C2: Does he have min Qualification?

Y Y

C3: Is fee paid? Y N

A1: Admit letter

A2: Provisional Admit letter

Y Y

- X -

ELSE

Page 65: Lecture Note

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

- - X

C1: Qty ordered <= Quantity in stock? C2: (Qty in stock-Qty ordered)<=reorder level N Y - -

C3: Is the partial shipment ok? - - Y N

A1:Qty shipped=Qty ordered

Y Y N N

R1 R2 R3 R4

A2:Qty shipped=Qty in stock X X - -

X

Page 66: Lecture Note

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

Page 67: Lecture Note

MIXED ENTRY DECISION TABLE Can mix up Yes, No answers with codes

C1 : Product code 1 1 1 1 1 2 C2 : Customer code A B A B C - C3 : Order amount <=500 <=500 >500 >500 - - Discount = 5% 7.5% 7.5% 10% 6% 5%

R1 R2 R3 R4 R5 R6Example

Rl R2 R3 R4 R5 R6 Cl : Product code = 1? Y Y Y Y Y N C2: Customer code = A B A B C - C3: Order amount < 500? Y Y N N - - Discount = 5% 7.5% 7.5% 10% 6% 5%

Page 68: Lecture Note

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

Salary point=6 N e Conduct OK? Y l Diligence OK? Y s Efficiency OK? Y e

Go to table 2 X - No promotion - X

Decision table 1 Salary point>2 N N N Y 1 yr as class 1 Y N - - officer Departmental test Y - N - Passed?

Decision table 2

Advance to next salary point No promotion Go to Table3

X - - -

- X X -

- - - X

Complete departmental Course 1 yr since last increment

Y

Y else

Decision table3

Page 69: Lecture Note

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 R2 Cl: x>60 Y - C2:x<40 - Y Al X - A2 : - X

R11 R12 R21 R22 Cl: x>60 Y Y N Y C2:x<40 Y N Y Y Al X X - - A2 : - - X X

We can expand decision table by replacing each –by Y & N

A rule which has no – is an Elementary rule

DT2:

DT2 is an Elementary Rule Decision Table (ERDT)

Page 70: Lecture Note

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 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. 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

Page 71: Lecture Note

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 ? Al A2 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:

C2 N Y

C1 N Y

Page 72: Lecture Note

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:

KARNAUGH MAPS – GRADING STEEL 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.

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

Decision table-Grading steel

Grade 10 9 8 7 ? ? ? ?

? 10 ? ?

8 9 ? 7 C3

C1 C2

N Y

NN NY YY YN

Page 73: Lecture Note

DT4: DECISION TABLE-ARREARS MANAGEMENT

R1 R2 R3 R4 R5 R6

C1:Payment in current month Y N N - - - >min.specified payment C2:Payment in current month>0 - Y Y - N N C3:Any payment in last 3 months - - - N Y Y C4: Actual arrears > 3(min. Specified payment per month) - Y N Y N Y A1 : Send letter A X - - - - - A2 : Send letter B - X - - - - A3 : Send letter C - - X - - - A4 : Send letter D - - - X - X A5 : Send letter E - - - - X -

Page 74: Lecture Note

KARNAUGH MAP 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

A1A5* A1 A3 A5

A1A4* A1 A2 A4

A1A4* A1A4+A2A4+ A4

A1* A1 A3 ?

NN NY YY YNNN NY YY YN

C3C4 C1C2

Page 75: Lecture Note

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 CORRECTED DECISION TABLE DT4

A1 A3 A5

A1 A2 A4

A4 A4 A4

A1 A3 A4

NN NY YY YN NN NY YY YN

C3C4 C1C2

IMPOSSIBLE RULES

C1 Y Y Y N N N N Y N N N N C2 Y Y Y Y Y Y Y Y N N N N C3 N Y Y Y N Y N N Y N N Y C4 N Y N Y N N Y Y Y Y N N

Page 76: Lecture Note

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

A + A=1

Page 77: Lecture Note

KARNAUGH MAP REDUCTION

NN NY YY YN

NN

NY

YY

YN

C3 C4 NN NY YY YN

NN

NY

YY

YN

C3 C4NN NY YY YN

NN

NY

YY

YN

C3 C4

A1 A1

A1 A1

A1 A1

A1 A1

A2 A2 A2 A2 A2 A2 A2 A2

A3 A3 A3 A3

C1C2

Page 78: Lecture Note

REDUCING DECISION TABLES-USE OF K-MAP

A3=C1C2C3C4+C1C2C3C4+C1C2C3C4+C1C2C3C4 =C2C3C4(C1+C1)+C2C3C4(C1+C1) =C2C4(C3+C3)=C2C4

A1 A3 A5

A1 A2 A4

A4 A4 A4

A1 A3 A4

NN NY YY YN

NN

NY

YY

YN

C1C2

C3C4

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

Page 79: Lecture Note

REDUCING DECISION TABLES EXAMPLE-REDUCTION OF RULES IN WORD STATEMENT Rules : Insure 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 DECISION TABLE FOR INSURANCE RULES

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 Y N N - - - - - - Y Y - N N N - Y Y - N N - Y

N - Y 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 X - - - - - - - - X

Page 80: Lecture Note

REDUCED DECISION TABLE

LEARNING UNIT 5

Decision trees for specifications DECISION TREES 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.

Cl : Annual income> 20000 C2: Male C3: Married C4: Age > 30

Y Y N - - E Y - N Y - L Y Y Y - Y S - Y - Y N E

A1:Insure X X X X X - A2 :Do not insure - - - - - X

A1 A1 A1 A1

A1 A1 A1 A1

A1 A1

NN NY YY YN

NN

NY

YY

YN

A1=C3+C2.C4

C3CC1C2

C2 : Male C3 : Married C4 : Age > 30 Al : Insure A2 : Do not Insure Reduced rules : Insure if married or male over 30 Observe 5 rules simplified to 2 and 1 condition removed

- Y Y - - Y

ELSE

X X - - - X

Page 81: Lecture Note

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:

C1

C2

C3

C4

Book II AC

Book II AC

Book sleeper

Book sleeper

Return

Y

Y

Y

Y

N

N

N

N

C

GRADE A

GRADE B

GRADE C

GRADE F

>=60

>=50

>=40

else

Page 82: Lecture Note

Sometimes Decision trees are more appropriate to explain to a user how

decisions are taken COMPARISON OF STRUCTURED ENGLISH, DECISION TABLES AND DECISION TREES

NOT GOOD

BEST

NOT GOOD

CHECKING FOR COMPLETENESS, CONTRADICTION

BEST

NOT GOOD

GOOD

SEQUENCING CONDITIONS BY PRIORITY

GOOD

BEST

NOT GOOD

ISOLATING CONDITIONS & ACTIONS

DECISION TREES

DECISION TABLES

STRUCTURED ENGLISH

CRITERION FOR COMPARISON

Page 83: Lecture Note

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.

Page 84: Lecture Note

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.

Page 85: Lecture Note

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

Page 86: Lecture Note

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.

Page 87: Lecture Note

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 Receivin

g Process

Inspection Office

Purchase Office

Orders

Delivery note

Items Received note

Discrepancy note

Page 88: Lecture 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.

Page 89: Lecture Note

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)

Page 90: Lecture Note

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

Page 91: Lecture Note

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.

Page 92: Lecture Note

BATCH DATA ENTRY

Data entered in forms

Keyboard Data entry

Input file Data

validation program

Update program

Data store

Data processing program

Output report

Error report

Error batch Input

batch

Name

Address

Individual Hindu undivided family Parent/Guardian of minor

Tick as applicable

Bad design : Tendency will be to fill name on top line. Not enough space for letters of address

Bad design : Choices are not codified.

Data entry operator will be confused.

Page 93: Lecture Note

Clear instructions. Enough space for entry manually. COMPUTER READABLE FORMS 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.

Day month Year

(Good design)

Enter date

Hr Min Sec Enter time

(Good design)

Enter date

Enter time

(Bad design)

(Bad design) Name

Only address (do not Repeat name)

I am applying as:

Individual Hindu undivided family

Parent or guardianOf minor

Enter name and address using capital letters Use one box for each alphabet

Shri Smt Kum

Tick one of the boxes below

1 2 3

Tick any of the following

Pin

Page 94: Lecture Note

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

Page 95: Lecture Note

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 Dept code Year Hostel code 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

FIRST NAME/INTIALS LAST NAME

CE CS ME EE IT

A B C D

Page 96: Lecture Note

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.

Page 97: Lecture Note

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

Page 98: Lecture Note

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 05 2 465

Year admitte

Term admitte

Dept Status UG/PG

Serial noIn dept

(use meaningful characters) 87 1 CS UG 465

4) SIGNIFICANT CODES - Some or all parts given values

Roll no BA 1 95 C B R

Banian Male Chest size cms

Cotton Color (blue)

Style (Round neck)

Page 99: Lecture Note

CHARACTERSTICS OF CODES

ERROR DETECTION CODE 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

YesYes YesYesNo

SIGNIFICANT CODE

YesYes YesYesNo GROUP CLASSIFICA-TION CODE

YesNo NoYesModerate BLOCK CODES

YesNo NoYesYes SERIAL NO

Precise Comprehensive Meaningful Expandable Concise Codes

Characteristics

Page 100: Lecture Note

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 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.

Given dn,dn-1,……..d1 where d1 is the check digit

(∑Widi )mod N=0 by designn

i=1 What should be the values of N & Wis Single transcription error: dk become t

(∑Widi )=

n

i=1 i=1 (∑Widi ) + tn

Wk - Wk dk

As (∑Widi ) mod N=0 (t- dk ) Wk mod N = 0

(t- dk ) Wk =p.N where p is any integer

Conditions • 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

Page 101: Lecture Note

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.

Page 102: Lecture Note

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 88.. RReeffeerreenncceess

Page 103: Lecture Note

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.

Page 104: Lecture Note

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

Page 105: Lecture Note

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

ITEMS

SUPPLIES ENTITY

RELATIONSHIP

ENTITY VENDOR

ORDERS

PLACED WITH

Page 106: Lecture Note

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 Verb Noun

ENTITY RELATIONSHIP ENTITY

Teachers teach Courses

Noun Verb Noun

ENTITY RELATIONSHIP ENTITY

Page 107: Lecture Note

ENTITY-RELATIONSHIP DIAGRAMS One entity may be related to many other entities by multiple relationships 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 . Observe a vendor can supply many items, and also that many vendors can supply the same item

RELATION CARDINALITY REPRESENTATION

ORDERS

Placed for

Placed with

items vendors

Order no Item code

Item code Item name

Order no Order date

Order no Vendor code Item code Qty ordered Price/unit

Vendor code Vendor name address

V1

V2

V3

i1 i2 i3 i4 i5

Vendor supplies items

Vendor1 supplies items il,i3,i5 Vendor2 supplies items il and i2 Vendor3 supplies items i4 and i5

A vendor cannot supply more than 6 items N vendors can supply a given item

A vendor can supply upto M items

Page 108: Lecture Note

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

items

vendor

supplies

items

vendor

supplies

items

vendor

supplies N

M

N

2

M

6

An item cannot be supplied by more than 2 vendors A vendor cannot supply more than M items

N vendors can supply a given item

Page 109: Lecture Note

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 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:

112, 1st cross Bangalore-12 452,4th main, Delhi-8 368 M.G Road, Pune-8 495 N.S.C Road,Calicut

Ram & co Gopal & sons Sivaraj brother Gita ltd

1456 1685 1284 1694

ADDRESS VENDOR NAME VENDOR CODE

Vendor (Vendor code, Vendor name, address )

Relation name

Relation Identifier

Relation attributes

Page 110: Lecture Note

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

Page 111: Lecture Note

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 ?

1.Observe order for many items 2.Item lines has many attributes-called composite attributes 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 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

Order no order date Item lines

1456 26021999 3687 52 50.40 4627 38 60.20 3214 20 17.50 1886 04031999 4629 45 20.25 4627 30 60.201788 04111999 4627 40 60.20

Item code Qty Price/unit

UNNORMALIZED RELATION

Page 112: Lecture Note

not multiple properties, some data will be duplicated. Now this is called First normal form (1NF) also called flat file. 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

1456 26021999 3687 52 50.40 1456 26021999 4627 38 60.20 1456 26021999 3214 20 17.50 1886 04031999 4629 45 20.25 1886 04031999 4627 30 60.20 1788 04111999 4627 40 60.20

FIRST NORMAL FORM – 1NF Order No Order date Item code Qty Price/unit

1NF

2NF

BCNF 4NF

5NF

3NF

Page 113: Lecture Note

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

Page 114: Lecture Note

composite attribute DEPENDENCY DIAGRAM Student (Roll no, name, address, dept., year of study ) Roll no determines uniquely values of all other attributes in the relation, therefore it is called a key.

Roll no

Year of study

Department

Address

Name

Called relation key

Vendor

Item code

Composite key

Qty.supplied

Date of supply

Price/unit

Page 115: Lecture Note

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

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 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

1456 26021999 3687 52 50.40 1456 26021999 4627 38 60.20 1456 26021999 3214 20 17.50 1886 04031999 4629 45 20.25 1886 04031999 4627 30 60.20 1788 04111999 4627 40 60.20

FIRST NORMAL FORM – 1NF Order No Order date Item code Qty Price/unit

Page 116: Lecture Note

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 Order date Item code Qty Price/unit 1456 26021999 3687 52 50.40 1456 26021999 4627 38 60.20 1456 26021999 3214 20 17.50 1886 04031999 4629 45 20.25 1886 04031999 4627 30 60.20 1788 04041999 4627 40 60.20

2 NF Relations

ORDERS Order No Order date 1456 26021999 1886 04031999 1788 04041999

ORDER DETAILS Order No Item code Qty 1456 3687 52 1456 4627 38 1456 3214 20 1886 4629 45

PRICES Item code Price/unit

3687 50.40 4627 60.20 3214 17.50

4629 20 25

Page 117: Lecture Note

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 )

Page 118: Lecture Note

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 Dept Head of dept Percent time P1 Physics Ghosh 50 P1 Maths Krishnan 50 P2 Chem Rao 25

Page 119: Lecture Note

P2 Physics Ghosh 75 P3 Maths Krishnan 100 P4 Maths Krishnan 30 P4 Physics Ghosh 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

Dept

Percent time

Head of Dept

Prof code Dept

Percent time Head of Dept

Head of Dept Dept

Page 120: Lecture Note

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 2. Prof code,Head of Dept Dependency : Dept Head of dept New relations Professor (Prof code, Dept, Percent time ) Department ( Dept, Head of Dept)

NORMALIZED BCNF RELATIONS

Professor code Dept Percent time P1 Physics 50 P1 Maths 50 P2 Chem 25 P2 Physics 75 P3 Maths 100 P4 Maths 30

P4 Ph i 70

Dept Head of Dept Physics Ghosh Maths Krishnan Chem Rao

Page 121: Lecture Note

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

V

P

Item

Multivalued dependency

Page 122: Lecture Note

Vendor code Project code Item code VI PI I1 VI PI I2 VI P3 I1 VI P3 I2 V2 PI I2 V2 PI I3 V3 PI I1 V3 P2 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 Solution: •Split vendor-project-item relation into two relations •Resulting relation must have not more than one independent multivalued dependency RESULTING RELATIONS VI I1 VI I2 V2 I2 V2 I3 V3 I1

Vendor Item P1 I1 P1 I2 P1 I3 P2 I1 P3 I1 P3 I2

Project Item

Page 123: Lecture Note

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

V1 P2 V1 P3 V2 P1 V3 P1 V3 P2

Vendors permitted for projects The above relation is in addition to the two relations of 4NF.

Page 124: Lecture Note

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

R N

Orders

Items Vendors

Placed for

Supply

Placed with

M

P Q

S

Page 125: Lecture Note

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

Page 126: Lecture Note

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 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)

Teacher

Teaches Attends

Students

Courses

M

N

K

P

Page 127: Lecture Note

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

Page 128: Lecture Note

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

Page 129: Lecture Note

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 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

Application1

Application2

Application1

Database 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

Page 130: Lecture Note

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

Conceptual model

logical model

External Model

Internal Model

Database1 2 p q

Application programs

Current application

Future Applications

1 2 p q

Page 131: Lecture Note

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

Page 132: Lecture Note

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.

Page 133: Lecture Note

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 55.. RReeffeerreenncceess

Page 134: Lecture Note

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. What are objects. 2. Why is it necessary to identify objects in an application. 3. How to identify objects given requirement specifications. 4. How objects are used to model information system.

Page 135: Lecture Note

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.

Page 136: Lecture Note

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 INSTANCE DIAGRAM – UML NOTATION Shows an object instance's attributes and values

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)

Page 137: Lecture Note

EXAMPLE 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

A 2546 : VENDOR

VENDOR ID = A2546 VENDORNAME = AD SINGH & CO VENDOR TYPE = DISTRIBUTOR VENDOR ADDRESS = 5, MALL ROAD,KANPUR 208001

Object name and its Class name

Attributes and their values

Vendor id

Class name

Page 138: Lecture Note

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

Page 139: Lecture Note

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 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

Class name College student

Attributes Roll no Name Address Year of study

Operations Admit Promote

Science student

Roll no Name Address Year of study Department Laboratory name Admit Promote Calculate laboratory fee

Arts student

Roll no Name Address Year of study Department

Class Name

Attributes

OperationsAdmit Promote Calculate field trip fee

Page 140: Lecture Note

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

Page 141: Lecture Note

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

Page 142: Lecture Note

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. APPLICANT 2. APPLICATION 3. REGISTRAR’S OFFICE CLERK

4. DEPARTEMENTAL (COMMITTEE)

1. 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

Page 143: Lecture Note

EXAMPLE 2 : RECEIVING ITEMS ORDERED ABSTRACT OF WORD STATEMENTS

ATTRIBUTES APPLICATION NUMBER APPLICANT NAME APPLICANT ADDRESS MARKS SHEET FEE PAID RECEIPT DEPT. APPLIED CODE APPLN STATUS CLERK CODE

OPERATIONS

APPLICATION

SCRUTINIZE SEND APPLICATION TO DEPT SEND RESPONSE ADMIT/W.L/REJECT TO APPLICANT

ATTRIBUTES DEPARTMENT CODE DEPARTMENT NAME COURSE NO OF STUDENTS TO BE ADMITTED NO ON WAIT LIST MIN. ENTRY QUALIFICATION STATUS OF APPLICATION

SCRUTINIZE APPLICATION SEND APPLICATION STATUS

OPERATIONS

DEPARTEMENT

Page 144: Lecture Note

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

Page 145: Lecture Note

VENDORS No operations on this object are needed in this application. However its attributes are necessary as the Accounts office makes payment to vendors 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 RECEIVING OFFICE OBJECT Receiving office is selected as an object. Its attributes are attributes derived from delivery note and order to vendor

CLASS : VENDORS

ATTRIBUTES : Vendor code Vendor name Vendor address

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

Page 146: Lecture Note

The class diagram is given below RECEIVING OFFICE OBJECT OTHER RELEVANT OBJECTS

CLASS RECEIVING OFFICE

DELIVERY NOTE

ORDER TO VENDOR

Is Part of Is Part of

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)

CLASS : STORES OFFICE

Attributes : Attributes of inspection office + qty in stock

Page 147: Lecture Note

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 Di t h t t d

Page 148: Lecture Note

LEARNING UNIT 3

Modelling systems with object

OBJECT ORIENTED MODELLING-CRC METHOD

Page 149: Lecture Note

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 :

Page 150: Lecture Note

CRC MODEL – EXAMPLE1 CRC MODEL – EXAMPLE (CONTD)

Develop a graph to show interaction between classes

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 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

Page 151: Lecture Note

COLLABORATION GRAPH

CLASS APPLICATION

CLASS DEPARTMENT

Examine application

Application status Admit/reject/wait list

Applicant

COLLABORATION GRAPH FOR EXAMPLE2 : Receiving items ordered by a company

CLASS RECEIVING OFFICE

CLASS INSPECTION OFFICE

CLASS STORES OFFICE

CLASS ACCOUNTS OFFICE

CLASS PURCHASE OFFICE Make

payment Payment copy

Delivery Inspect

Update Inventory

Payment

Discrepancy note

Vendor Delivery copy

Page 152: Lecture Note

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

Page 153: Lecture Note
Page 154: Lecture Note

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

Page 155: Lecture Note

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

Page 156: Lecture Note

LEARNING UNIT 1

Output Devices

1) HARD COPY DEVICES – PRINTERS 2) SOFT DEVICES - VIDEO DISPLAY DEVICES

3) MULTIMEDIA

TEXT

AUDIO - SPEECH SYNTHESISER GRAPHICS

VIDEO

Page 157: Lecture Note

HARD COPY DEVICES Printers used when there is large volume of data and several copies are normally needed 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

Types of printers

Impact

Line Printers

Dot matrix character printers

Non-Impact

Laser printer

Inkjet printer

Page 158: Lecture Note

- 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

• FLOPPY DISK - Inexpensive - Easy to mail/transport - Low capacity –1.4MB - Read/write

- Contact recording – number of read/writes limited • CDROM - Inexpensive Medium

Used to distribute manuals, massive reports, user documents, etc Alternatives

FLOPPY DISK

CDROM

DVD ROM

FLASH MEMORY (SEMI CONDUCTOR)

Page 159: Lecture Note

- 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

Page 160: Lecture Note

•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

Page 161: Lecture Note

-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

Page 162: Lecture Note

- 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 INDIAN INSTITUTE OF SCIENCE - ACADEMIC ROLL LIST

Page heading

Roll No Name 97101115 A.B.BHATTACHARYA 97101125 A K CHANDRA

Page 163: Lecture Note

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

ROLL LIST OF STUDENTS SEM 1/2000-2001

Control heading LIST OF STUDENTS IN AEROSPACE ENGG DEPT

TOTAL NO OF STUDENTS IN SEM 1/200-2001 = 852

END OF IISc BANGALORE ROLL LIST FOR SEM 1/2000-2001

Final control footing

Report footing

TOTAL NO OF STUDENTS IN CHEMICAL ENGG.DEPT = 63

Control footing TOTAL NO OF STUDENTS IN AEROSPACE ENG DEPT=68 LIST OF STUDENTS IN CHEM ENGG DEPT

Roll No Name 97102105 A.C.ARVIND 97102121 L.S.BHATIA . . 97102131 P.R.ZAVERI

Control footing

Page 164: Lecture Note

GENERAL PRINCIPLES OF DESIGNING REPORTS

1. Should be able to read from left to right, top to bottom 2. Easy to find important items such as keys 3. All pages numbered and has heading. Report date is essential 4. All columns should be labelled 5. Keep essential details only 6. Proper use of control footings 7. Page and report footing useful 8. Space for end of report signature if needed

LEARNING UNIT 4

Design of screens and graphics

Page 165: Lecture Note

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 SCREEN FOR DETAILED STUDENT INFORMATION BUISNESS GRAPHICS

INDIAN INSTITUTE OF SCIENCE STUDENT INFORMATION SYSTEM

ROLL NO NAME DEPT YEAR 9501325 A.B.BHATTACHARYA AEROSPACE ME 1 9602415 A.P.DAS CSA Ph.D 9602325 P.GANAPATHY EE M.Sc 9701425 G.HARI MET ME II 9702112 H.JAI SINGH CIVIL Ph.D

CLICK BUTTON AS REQUIRED

DETAILS CONTINUE EXIT

INDIAN INSTITUTE OF SCIENCE STUDENT INFORMATION SYSTEM 05-05-2000

ROLL NO 9701425 NAME G.HARI YEAR ME II GUARDIAN P.GANESHAN ADDRESS 41 OLIVER STREET MYLAPORE MADRAS 600 004 DETAILS RETURN

Page 166: Lecture Note

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

BAR CHART

0

50

100

150

200

250

300

350

0 20 25 30 35 40 45 50 55 60

Year

Page 167: Lecture Note

PIE CHART

0

50

100

150

200

250

300

350

0 20 25 30 35 40 45 50 55 60

Age

Interest payment 15%

Tax 10%

Equipment 10%

Dividends 15%

R& D 5%

Misc 15%

Raw material 20%

Salaries 20%

Page 168: Lecture Note

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.

Page 169: Lecture Note
Page 170: Lecture Note

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

Page 171: Lecture Note

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

Page 172: Lecture Note

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

Page 173: Lecture Note

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

Page 174: Lecture Note

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) pre-specified tags (b) user defined tags (c) tags only for linking (d) fixed tags defined by the language

11.2.5 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.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) <B> (ii) <I> (iii) <U> (iv) <L>

(a) (i) and (ii) (b) (i) and (iii)

(c) (ii) and (iv) (d) (i),(ii) and (iii)

Page 175: Lecture Note

11.2.8 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.2.9 SGML stands for

(a) Standard Generalized Markup Language (b) Structured General Markup Language (c) Standard Graphics Mapping Language (d) Standard General Markup Links

11.2.10 HTML and XML are markup languages

(a) Specially development for the web (b) Are based on SGML (c) Are versions of SGML (d) Independent of SGML

11.2.11 XML stands for

(a) Extra Markup Language (b) Excellent Markup Links (c) Extended Markup Language (d) Extended Marking Links

11.2.12 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.2.13 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

Page 176: Lecture Note

11.2.14 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.2.15 XSL definition is used along with XML definition 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.2.16 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.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

Page 177: Lecture Note

KEY TO OBJECTIVE QUESTIONS 11.1.1 d 11.1.2 b 11.1.3 c 11.1.4 b 11.1.5 a 11.1.6 c 11.1.7 c 11.1.8 a 11.1.9 b 11.1.10 c 11.1.11 c 11.1.12 c 11.1.13 d 11.1.14 b 11.1.15 c 11.1.16 b 11.1.17 d 11.1.18 b 11.1.19 a 11.1.20 d 11.2.1 b 11.2.2 a 11.2.3 b 11.2.4 d 11.2.5 b 11.2.6 a 11.2.7 a 11.2.8 c 11.2.9 a 11.2.10 b 11.2.11 c 11.2.12 a 11.2.13 b 11.2.14 b 11.2.15 b 11.2.16 c 11.2.17 a

Page 178: Lecture Note

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

Page 179: Lecture Note

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.

Page 180: Lecture Note

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

Page 181: Lecture Note

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.

Page 182: Lecture Note

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

Page 183: Lecture Note

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

Page 184: Lecture Note

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

Page 185: Lecture Note

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

Page 186: Lecture Note

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

Page 187: Lecture Note

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.

Page 188: Lecture Note

MMOODDUULLEE 1133

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

Page 189: Lecture Note

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.

Page 190: Lecture Note

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.

Page 191: Lecture Note

Business To Business E-commerce • 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

PSTN or LEASED

LINE

Public switched telephone network LAN of buisness1 LAN of buisness2

Vendor Local computers

Purchase store accounts Local computers

Page 192: Lecture Note

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.

Page 193: Lecture Note

Customer to Customer E-Commerce 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 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.

Customer1

Customer2 Internet

•Advertises - "for sale" •Brings together buyer and seller •Transports items •Collects fee from both Seller &Buyer

Broker’s website

Wants to sell Item 1 Wants to buy Item 1

Page 194: Lecture Note

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 SERVICES IN LAYER

Application layer B2B,B2C,C2C

Middleman services Hosting services, value added nets payment services, Certificates

Secure messaging Encryption, EDI, Firewalls

World wide web services HTTP, HTML, XML, OLE Software agents

Logical network Intranet, internet, extranet

Physical network PSTN, LAN, Bridges, routers

Layered architecture

Page 195: Lecture Note

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 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. 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.

Page 196: Lecture Note

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 e-mail, 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 e- mail 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.

Page 197: Lecture Note

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.

Page 198: Lecture Note

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

Page 199: Lecture Note

Example Text Encryption 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.

Start plaintext THIS IS A MESSAGE X Block plaintext (5character blocks) THISI SAMES SAGEX Transpose characters with permutation (4 1 2 5 3) STHII ESASM ESAXG Substitute character by the one 4 letters away WXLMM IWEWQ IXEBK (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

4 1

Page 200: Lecture Note

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. 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

#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

Page 201: Lecture Note

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.

Page 202: Lecture Note

Details of One Round of DES Encryption

DES Chip

DES CHIP

Input block

Key 56

64 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

Page 203: Lecture Note

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]]]

Page 204: Lecture Note

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.

D E

BLOCK DIAGRAMS OF TRIPLE DES

Cipher text (64bit block)

K3

D E K1

Plain text

Page 205: Lecture Note

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

Page 206: Lecture Note

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 .

Page 207: Lecture Note

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}

Page 208: Lecture Note

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

Page 209: Lecture Note

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.

Page 210: Lecture Note

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.

Page 211: Lecture Note

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.

Page 212: Lecture Note

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

Page 213: Lecture Note

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.

Page 214: Lecture Note

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 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.

Page 215: Lecture Note

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.

Page 216: Lecture Note

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

Page 217: Lecture Note

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.

Page 218: Lecture Note

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

Page 219: Lecture Note

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)

Page 220: Lecture Note

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

Page 221: Lecture Note

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

Page 222: Lecture Note

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

Page 223: Lecture Note

Electronic Cash Payment

Page 224: Lecture Note

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.

Page 225: Lecture Note

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

Page 226: Lecture Note

CCAASSEE TTOOOOLLSS

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?

Page 227: Lecture Note

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

Page 228: Lecture Note

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.

Page 229: Lecture Note

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, 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

Page 230: Lecture Note

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.

Page 231: Lecture Note

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: Y Y N N is A = 0. Y N Y N is B = 0. X X - - Move 0 to C. - X X X 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.

Page 232: Lecture Note

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.

Page 233: Lecture Note

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-b5c5-48f4-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/en-us/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.

Page 234: Lecture Note

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