Management Information Systems Managing Information Technology in the Business Enterprise
Chapter 14 Computer Software
Learning Objectives Describe several important trends occurring in computer software. Give examples of several major types of application and system software.
Learning Objectives (continued) Explain the purpose of several popular software packages for end user productivity and collaborative computing. Outline the functions of an operating system. Describe the main uses of software programming languages and tools.
Application Software: End User Applications Section I Application Software: End User Applications
Software Types of software Application software System software
Application software for end users Application-specific General-purpose Perform common information processing jobs Sometimes known as productivity packages
Software Suites and Integrated Packages Suites are a number of productivity packages bundled together Microsoft Office Lotus SmartSuite Corel WordPerfect Office Sun StarOffice
Software Suites and Integrated Packages (continued) Advantages of suites Cost Similar graphical user interface Share common tools Programs are designed to work together Disadvantages of suites Large size Many features never used by many end users
Software Suites and Integrated Packages (continued) Combine SOME of the features of several programs Cannot do as much as individual packages or suites
Web Browsers Key software interface to the hyperlinked resources of the World Wide Web and the rest of the Internet Internet Explorer Netscape Communicator
Electronic Mail and Instant Messaging E-Mail Has changed the way people work and communicate Instant Messaging An e-mail/computer conferencing hybrid technology Allows real time communication/collaboration
Word Processing and Desktop Publishing Has computerized the creation, editing, revision, and printing of documents. Advanced features Desktop Publishing Design and print newsletters, brochures, manuals, and books Page design process Page makeup or page composition WYSIWYG (what you see is what you get)
Electronic Spreadsheets Used for business analysis, planning, and modeling Involves designing its format and developing the relationships (formulas)
Electronic Spreadsheets (continued) Allows end users to perform: What-if Goal-seeking Sensitivity analysis Strength Computation and calculation
Database Management Performs four primary tasks Database development Define/organize content, relationships, and structure of the data Database Interrogation Selectively retrieve and display information Produce forms, reports, & other documents
Database Management (continued) Four primary tasks (continued) Database maintenance Add, delete, update, and correct the data Application development Develop prototypes of web pages, queries, forms, reports, and labels
Database Management (continued) Strength Storage of large amounts of data Weakness Computation and calculation
Presentation Graphics Helps convert numeric data into graphic displays Helps prepare multimedia presentations Easy to use
Personal Information Managers For end user productivity and collaboration Store, organize, and retrieve information Information about customers Appointments Contact lists Task lists Schedules
Groupware Collaboration software Helps workgroups and teams work together to accomplish group assignments Combines a variety of software features and functions E-mail Discussion groups and databases Scheduling Task management Audio and videoconferencing Data sharing
Other Business Software
System Software: Computer System Management Section II System Software: Computer System Management
System Software Overview Programs that manage and support a computer system and its information processing activities Serves as the software interface between computer networks and hardware and the application programs of end users
System Software Overview (continued) Two major categories System management programs Operating systems Network management programs Database management systems System utilities System development programs Programming language translators & editors CASE (computer-aided software engineering)
Operating Systems Functions Integrated system of programs that Manages the operations of the CPU Controls the input/output and storage resources and activities of the computer system Provides various support services as the computer executes application programs Manages user interface, resources, files, tasks, and utility and support services
Operating Systems Functions (continued) Provides a user interface Allows humans to communicate with the computer Command-driven Menu-driven Graphical user interface
Operating Systems Functions (continued) Resource management Manages the hardware and networking resources of the system Virtual memory capability
Operating Systems Functions (continued) File management Controls the creation, deletion, and access of files of data and programs Keeps track of the physical location of files
Operating Systems Functions (continued) Task management Manages the accomplishment of the computing tasks of end users Multitasking Multiprogramming Timesharing
Operating Systems Functions (continued) Utility Programs Perform miscellaneous housekeeping and file conversion functions Data backup Data recovery Virus protection Data compression Data defragmentation Performance monitors and security monitors
Operating Systems Functions (continued) Popular Operating Systems Windows 95, 98, ME NT 2000 XP UNIX Linux Mac OS X
Network Management Programs Perform functions such as Automatically checking client PCs and video terminals for input/output activity Assigning priorities to data communication requests from clients and terminals Detecting and correcting transmission errors and other network problems Sometimes functions as middleware that allows diverse networks to communicate with each other
Database Management Systems Controls the development, use, and maintenance of databases. Helps organizations use their integrated collections of data records and files Allows different user application programs to easily access the same database Simplifies the process of retrieving information from databases
Programming Languages Allows a programmer to develop the sets of instructions that constitute a computer program Machine Language First generation language Written using binary codes unique to each computer
Programming Languages (continued) Assembler Language Second generation Requires language translator programs called assemblers Allows a computer to convert the instructions into machine instructions Frequently called symbolic language
Programming Languages (continued) High-level Languages Third generation Uses instructions, called statements, that use brief statements or arithmetic expressions Uses translator programs called compilers or interpreters Syntax and semantics
Programming Languages (continued) Fourth-generation Languages (4GLs) More nonprocedural and conversational than prior languages Natural languages Ease of use gained at the expense of some loss in flexibility
Programming Languages (continued) Object-Oriented Languages (OOP) Ties data elements to the procedures or actions that will be performed on them into “objects” Easier to use and more efficient for programming GUIs
Programming Languages (continued) HTML, XML, and Java Important for building multimedia Web pages, websites, and Web-based applications HTML (Hypertext Markup Language) A page description language that creates hypertext or hypermedia documents
Programming Languages (continued) XML (eXtensible Markup Language) Describes the contents of web pages by applying identifying tags or contextual labels to the data Makes the web site more searchable, sortable, and easier to analyze Java Designed for real-time, interactive, Web-based network applications Applets
Programming Software Helps programmers develop computer programs Two basic categories Programming language translators Programming tools
Programming Software (continued) Language Translator Programs Assembler Translates symbolic instruction codes into machine language instructions Compiler Translates high-level language statements Interpreter Translates and executes each statement in a program one at a time
Programming Software (continued) Programming Tools Programming editors and debuggers Provides a computer-aided programming environment or workbench Diagramming packages Code generators Libraries of reusable objects & code Prototyping tools CASE
Summary Computer software can be divided into application software and system software Application software can be divided into general purpose and application specific software System software can be divided into system management programs and application development programs Operating systems supervise the CPU, handle Input/Output, and run utilities
Summary (continued) Computer languages can be divided into machine, assembler, high-level, fourth-generation, object-oriented, and special purpose languages.
Discussion Questions What major trends are occurring in software? What capabilities do you expect to see in future software packages? How do the different roles of system software and application software affect you as a business end user? How do you see this changing in the future?
Discussion Questions (continued) Why is an operating system necessary? Why can’t an end user just load an application program in a computer and start computing? Should a Web browser be integrated into an operating system?
Discussion Questions (continued) Are software suites, Web browsers, and groupware merging together? What are the implications for a business and its end users? How are HTML, XML, and Java affecting business applications on the Web?
Discussion Questions (continued) Do you think Windows 2000 and Linux will surpass Unix and Netware as operating systems for network and Web servers? Which application software packages are the most important for a business end user to know how to use?
Real World Case 1 – Bank of Montreal & IBM How has ASP benefited the Bank of Montreal business Process? What are the advantages and disadvantages to a business of using software provided by an ASP or software company? Should consumers switch to using software as a service, instead of buying software packages?
Real World Case 2 – Foster Parents Plan Self-Serve Data Warehouse Identify different software used by FPP to develop its new knowledge management system. What are the advantages and disadvantages of using different software from the same vendor, such as Microsoft? Do you think FPP should have considered ASP for handling its requirements for an effective and efficient knowledge management system?
Real World Case 3 – Amazon, Orbitz, and Others The Business Case for Linux What are the business and technical benefits of switching from proprietary systems to Linux on Intel-based servers? Why can Linux make a strategic difference in the profitability of some companies? What are the limitations of Linux for business use?