14 Computer Software 14 Learning Objectives • Describe several important trends occurring in computer software. • Give examples of several major types of application and system software. • Explain the purpose of several popular software packages for end user productivity and collaborative computing. 14 Learning Objectives (continued) • Outline the functions of an operating system. • Describe the main uses of software programming languages and tools. 14 Section I • Application Software: End User Applications 14 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 14 Software Suites and Integrated Packages • Suites are a number of productivity packages bundled together – Microsoft Office – Lotus SmartSuite – Corel WordPerfect Office – Sun StarOffice 14 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 14 Software Suites and Integrated Packages (continued) • Integrated Packages – Combine SOME of the features of several programs – Cannot do as much as individual packages or suites 14 Web Browsers • Key software interface to the hyperlinked resources of the World Wide Web and the rest of the Internet – Internet Explorer – Netscape Communicator 14 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 14 Word Processing and Desktop Publishing • Word Processing – 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) 14 Electronic Spreadsheets • Used for business analysis, planning, and modeling • Involves designing its format and developing the relationships (formulas) 14 Electronic Spreadsheets (continued) • Allows end users to perform: – What-if – Goal-seeking – Sensitivity analysis • Strength – Computation and calculation 14 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 14 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 14 Database Management (continued) • Strength – Storage of large amounts of data • Weakness – Computation and calculation 14 Presentation Graphics • Helps convert numeric data into graphic displays • Helps prepare multimedia presentations • Easy to use 14 Personal Information Managers • For end user productivity and collaboration – Store, organize, and retrieve information • • • • • Information about customers Appointments Contact lists Task lists Schedules 14 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 14 Other Business Software 14 Section II • System Software: Computer System Management 14 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 14 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) 14 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 14 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 14 Operating Systems (continued) • Five basic functions (continued) – Resource management • Manages the hardware and networking resources of the system • Virtual memory capability 14 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 14 Operating Systems (continued) • Five basic functions (continued) – Task management • Manages the accomplishment of the computing tasks of end users • Multitasking – Multiprogramming – Timesharing 14 Operating Systems (continued) • Popular Operating Systems – Windows • • • • 95, 98, ME NT 2000 XP • Popular operating systems (continued) – UNIX – Linux – Mac OS X 14 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 14 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 14 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 14 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 14 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 14 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 14 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 14 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 14 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 14 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, sort able, and easier to analyze – Java • Designed for real-time, interactive, Webbased network applications • Applets 14 Programming Software • Helps programmers develop computer programs • Two basic categories – Programming language translators – Programming tools 14 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 14 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 14 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? 14 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? 14 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? 14 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? 14 References • James A. O'Brien; George M. Marakas. Management Information Systems: Managing Information Technology in the Business Enterprise 6th Ed., Boston: McGraw-Hill/ Irwin,2004