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. 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) • 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 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 • Word Processing – Has computerized the creation, editing, revision, and printing of documents. – Advanced features • Desktop Publishing – Design and print newsletters, brochures, manuals, and books Electronic Spreadsheets • Used for business analysis, planning, and modeling • Involves designing its format and developing the relationships (formulas) 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 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 • 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 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 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 – Code generators – Libraries of reusable objects & code The End