Computer Software
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. Outline the functions of an operating system. Describe the main uses of software programming languages and tools.
Application software for end users 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
Suites are a number of productivity packages bundled together 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
Integrated Packages 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
Web Browsers Key software interface to the hyperlinked resources of the World Wide Web and the rest of the Internet Internet Explorer Netscape Communicator
E-Mail Instant Messaging Electronic Mail and Instant Messaging 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
Used for business analysis, planning, and modeling Electronic Spreadsheets Used for business analysis, planning, and modeling Involves designing its format and developing the relationships (formulas)
Helps convert numeric data into graphic displays Presentation Graphics Helps convert numeric data into graphic displays Helps prepare multimedia presentations Easy to use
For end user productivity and collaboration Personal Information Managers For end user productivity and collaboration Store, organize, and retrieve information Information about customers Appointments Contact lists Task lists Schedules
Collaboration software 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
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
Two major categories System management programs 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)
Integrated system of programs that 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
Performs five basic functions 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
Five basic functions (continued) Operating Systems (continued) Five basic functions (continued) Resource management Manages the hardware and networking resources of the system Virtual memory capability
Five basic functions (continued) 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
Five basic functions (continued) 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 Popular operating systems (continued) UNIX Linux Mac OS X
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
Assembler Language Programming Languages (continued) Second generation Requires language translator programs called assemblers Allows a computer to convert the instructions into machine instructions Frequently called symbolic language
High-level Languages Programming Languages (continued) Third generation Uses instructions, called statements, that use brief statements or arithmetic expressions Uses translator programs called compilers or interpreters Syntax and semantics
Fourth-generation Languages (4GLs) 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
Object-Oriented Languages (OOP) 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
Helps programmers develop computer programs Two basic categories Programming Software Helps programmers develop computer programs Two basic categories Programming language translators Programming tools
Language Translator Programs 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 Tools Programming Software (continued) Programming editors and debuggers Provides a computer-aided programming environment Code generators Libraries of reusable objects & code
The End