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.
Learning Objectives (continued) 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 Software (continued) 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 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
Operating Systems (continued) Performs five basic functions Provides a user interface Allows humans to communicate with the computer Command-driven Menu-driven Graphical user interface
Operating Systems (continued) Five basic functions (continued) Resource management Manages the hardware and networking resources of the system Virtual memory capability
Operating Systems (continued) Five basic 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 (continued) Five basic functions (continued) Task management Manages the accomplishment of the computing tasks of end users Multitasking Multiprogramming Timesharing
Operating Systems (continued) Popular Operating Systems Windows 95, 98, ME NT 2000 XP
Operating Systems (continued) Popular operating systems (continued) 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
Other System Management Programs Utility Programs Perform miscellaneous housekeeping and file conversion functions Data backup Data recovery Virus protection Data compression Data defragmentation Performance monitors and security monitors
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
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 – Intuit Inc. Why has Intuit’s success improved under Bennett’s leadership? What are several things Intuit could do to successfully compete with Microsoft and others in the future?
Real World Case 1 (continued) Why does Intuit dominate its small-business software market segment? What software products and services does Intuit have that might support Bennett’s strategy to appeal to larger small businesses?
Real World Case 1 (continued) Do you agree with CEO Bennett’s strategy to have Intuit compete with Microsoft in the software market for larger small businesses?
Real World Case 2 – 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?
Real World Case 2 (continued) Why can Linux make a strategic difference in the profitability of some companies? What are the limitations of Linux for business use?
Real World Case 2 (continued) Should most companies investigate the use of Linux for their businesses? Why or why not?
Real World Case 3 – Burlington Coat Factory and Others Evaluating Software Suite Alternatives What is the business case for switching from Microsoft Office to alternatives like Sun StarOffice or gobeProductive?
Real World Case 3 (continued) What is the business case against such a switch? What are the weaknesses of the “Office” competitors?
Real World Case 3 (continued) What are several business or technical improvements the developers of Sun StarOffice or gobeProductive could make to better compete with Microsoft Office?
Real World Case 4 – Clark Retail & Others Evaluating Operating System Upgrades Why do many companies have no plans to switch to Windows XP?
Real World Case 4 (continued) What is a business case for switching to Windows XP? What is a business case against switching?
Real World Case 4 (continued) What are several improvements you would like to see Microsoft make in the next version of Windows?
Real World Case 5 – Dollar Rent A Car & Imperial Sugar Pioneering Web Services What are Web services? How are they used?
Real World Case 5 (continued) What is the purpose and business value of Web services? What is delaying the implementation of Web services at many companies?
Real World Case 5 (continued) What can companies do now to prepare to implement Web services? What do you see as the future for Web services?