5 Chapter 5 Information Systems in Business: Software Management Information Systems, Second Edition Effy Oz Learning Objectives When you finish this chapter, you will: 5 Understand why managers must keep abreast of software developments. Recognize the different generations of programming languages and how they differ. Understand the difference between application software and system software. 2 Learning Objectives Know the strengths and weaknesses of tailored software vs. off-the-shelf software. 5 Be able to cite the latest major developments in application and system software. Recognize characteristics that are important in evaluating packaged software application for business use. 3 Software: Instructions to the Computer 5 A computer program is a series of instructions to a computer to execute any and all processes. Computers only “understand” instructions consisting of electrical signals alternating between two states. 4 Programming Languages Programming languages 5 Abbreviated forms of instructions that translate into machine language New programming languages make programming easier for people who are not necessarily hardware experts 5 Programming Languages 5 Figure 5.1 The evolution of programming languages 6 Programming Languages Machine Languages (ML) 5 Only languages computers can directly interpret to carry out instructions ML coding: time-consuming and error-prone ML programmers: concerned with hardware details Every computer or family of computers has its own ML; each is machine-dependent. 7 Programming Languages Assembly Languages Represents a string of ‘0s’ and ‘1s’ for a machine language instruction 5 More English-like; codes shorter than machine languages Assembler translates into machine language Advantages of machine or assembly languages Programmer in control of hardware Programs written in low-level languages run more efficiently. 8 Programming Languages 5 Figure 5.2 The instruction “ADD 2 and 5 and assign the result to variable y” written in different programming languages 9 Programming Languages Procedural Languages Third-generation (procedural) languages are more English-like than assembly languages. 5 Programmers focus on the procedure of the application problem at hand. Some languages are standardized or portable. Relatively easy to learn, write, and debug. FORTRAN, COBOL, BASIC 10 Programming Languages Fourth Generation Languages (4GL) 5 4GLs are more English-like than procedural languages. Programmer only has to select an action without having to specify the action’s formula or procedure. Easy to learn and use; shorter application development time. PowerBuilder, FOCUS, NOMAD, and RAMIS 11 Programming Languages Visual Programming 5 Languages that let programmers create field windows, scroll-down menus, click buttons, etc., by choosing from a palette Appropriate code written automatically Accelerates work Microsoft’s Visual Basic 12 Programming Languages Object-Oriented Programming (OOP) 5 Emphasis on the objects involved in the task, not on the procedure. An object encapsulates a data set with the code that is used to operate on it. Standardized programming modules can be reused. Applications can be rapidly developed with appropriate objects from an object library. 13 Programming Languages 5 Figure 5.3 Advantages of object-oriented programming (OOP) over procedural languages 14 Programming Languages 5 Figure 5.4 The object EMPLOYEE 15 Programming Languages 5 Figure 5.5 Advantages and disadvantages of higherlevel programming languages 16 Programming Languages Application Software vs. System Software 5 Application: a program developed to address a specific business need; software for development of such programs. System: programs designed to carry out general routine operations, such as loading, copying, or deleting a file. 17 Application Software Application-specific programs 5 Programs designed to perform specific jobs General-purpose programs Usable for different purposes 18 Application Software Custom-Designed Applications Advantages: 5 Meeting the organization’s needs exactly In-house developers are sensitive to the organizational culture Disadvantages: High cost Production schedule subject to long delays Incompatible with other organizations’ systems 19 Application Software 5 Figure 5.6 Advantages and disadvantages of tailored applications 20 Application Software Packaged Software Advantages: 5 Low cost High quality Vendor support Immediate availability Often tested at user sites (alpha sites and beta sites) before the final version is released. 21 Application Software 5 Figure 5.7 Advantages and disadvantages of packaged software 22 Applications Software Packaged Software 5 Word processors Electronic spreadsheets Database management systems 23 Packaged Software 5 Figure 5.8 Electronic spreadsheets are powerful tools for (a) tabulation, (b) manipulation, and (c) data analysis. 24 Packaged Software Multimedia 5 Can handle many different types of data such as text, voice, and image. Powerful means of communicating. Uses include education, training, research, and business. 25 Packaged Software Virtual Reality (VR) Mimics sensory reality. 5 Some sophisticated VR software includes use of goggles, gloves, earphones, and a moving base. Business use of VR is expected to grow dramatically for design and testing of new products, and for marketing. 26 System Software 5 Manages computer resources and performs routine tasks not specific to any application Copying and pasting sections and files Printing documents Allocating memory Developed to partner with application software 27 System Software Operating Systems (O/S) Most important system software 5 Developed for a certain microprocessor or microprocessors Addresses technical details such as registers and RAM addresses. Plays the role of “traffic cop” or the “boss” of computer resources. 28 System Software 5 Figure 5.9 The operating system mediates between applications and the computer, and controls peripheral devices. 29 System Software 5 Figure 5.10 Computers operate on a number of layers, starting from the user interface and moving inward to the hardware. 30 System Software 5 Figure 5.11 Popular operating systems 31 System Software Operating System Functions Systems Management 5 User Interface Memory Allocation Multitasking, Multiprogramming, and Multiprocessing Times and Statistics Increasing Services from O/Ss 32 System Software Compilers and Interpreters Compiler 5 Scans source code and translates into object code Generates error message and does not compile when an error is found Allows users to save programs in object code Interpreter Checks one statement at a time Changes error-free statements into ML Generates an error message for errors 33 System Software 5 Figure 5.12 A compiler converts higher-level language code (source code) into machine language (object code), which the computer can process. 34 System Software Data Communication Programs 5 Controls and supports data communication activities in a network Setting up rules that govern transmission and reception of data Connecting and disconnecting communication links Assigning priorities among terminals in a network Detecting and correcting transmission errors 35 System Software Proprietary vs. Open Source 5 Proprietary O/S: limited to using applications compatible with it Open O/S: compatible with virtually all applications. Completely open O/S does not exist Some O/Ss (e.g., Unix) are said to be nonproprietary, but it is still impossible to run many applications on different versions of such O/Ss. 36 Considerations in Purchasing Software Figure 5.13 Sample software evaluation form 5 37 Considerations in Purchasing Software 5 Figure 5.14 Sample results of software evaluation (5 is the highest score.) 38 The Year 2000 Problem Many business applications stored only the last two digits of year dates. 5 If no corrective action taken, businesses might have experienced chaos on January 1, 2000. ISs interpreting 00 as 1900 instead of 2000 Experts predict the Y2K bug will haunt many organizations several years after 2000. 39