CHAPTER 14. COMPUTER SOFTWARE SOFTWARE Detailed instructions to control computer operation. There are two major types of software: System software: manages computer resources. Set of instructions that serves primarily as an intermediary between computer hardware and application programs. Manipulates computer hardware resources. Application software: specific business application. A set of computer instructions that provide more specific functionality to a user. There are many different software applications in organizations today. Manipulate data or text to produce or provide information. * Systems Software Class of programs that control and support the computer system and its information-processing activities. Systems software programs support application software by directing the basic functions of the computer. For example, when the computer is turned on, the initialization program (a systems program) prepares all devices for processing. 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 four basic functions 1: User interface: Provides a user interface Allows humans to communicate with the computer 2: Resource management Manages the hardware and networking resources of the system Virtual memory capability Operating Systems (continued) 3: File management Controls the creation, deletion, and access of files of data and programs Keeps track of the physical location of files 4:Task management Manages the accomplishment of the computing tasks of end users Multitasking Multiprogramming Timesharing MULTIPROGRAMMING PROGRAM 1 UNUSED MEMORY MULTIPROGRAMMING ENVIRONMENT OPERATING SYSTEM OPERATING SYSTEM TRADITIONAL SINGLEPROGRAM SYSTEM PROGRAM 1 PROGRAM 2 PROGRAM 3 UNUSED MEMORY The management of two or more tasks, programs, running on the computer system at the same time. MULTITASKING MULTIPROGRAMMING ON A SINGLE-USER SYSTEM SUCH AS A MICROCOMPUTER * TIME SHARING It is an extension of multiprogramming. In this mode, a number of users operate online with the same CPU, but each uses a different input/output terminal. The programs of these users are placed into partitions in primary storage. Execution of these programs rotates among all users, occurring so rapidly that it appears to each user as though he or she were the only using the computer. Operating Systems (continued) Popular Operating Systems Windows 95, 98, ME NT 2000 XP UNIX Linux Mac OS X Types of Personal Application Software WORD PROCESSING SPREADSHEETS DATA MANAGEMENT GRAPHICS DESKTOP PUBLISHING GROUPWARE * Types of Personal Application Software Spreadsheets: Used for business analysis, planning, and modeling. Computer spreadsheet software transforms a computer screen into a ledger sheet, or grid, of coded rows and columns. They can be used for financial information, such as income statements or cash flow analysis. They are also used for forecasting sales, analyzing insurance programs, summarizing income tax data, and analyzing investments. They also offer data management and graphical capabilities. Ex: Ms Excel, Lotus 1-2-3. Types of Personal Application Software Data management: Data management software supports the storage, retrieval, and manipulation of related data. Produce forms, reports, & other documents. Add, delete, update, and correct the data Ex: Ms-Access. Types of Personal Application Software Word processing: allows the user to manipulate text rather than just numbers. Many word processors contain many productive writing and editing features. A typical word processing software package consists of an integrated set of programs including an editor program, a formatting program, a print program, a dictionary, a grammar checker, and integrated graphics, charting, and drawing programs. Types of Personal Application Software Desktop publishing: represents a level of sophisticated beyond regular word processing. In the past, newsletters, announcements, advertising copy had to be laid out by hand and typeset. Design and print newsletters, brochures, manuals, and books. Types of Personal Application Software Graphics: Graphics software allow user to create, store and display or print charts, graphs, maps and drawings. It enables users to absorb more information more quickly and to spot relationships and trends in data more easily. Ex: Ms-Power Point (Helps convert numeric data into graphic displays. Presentation graphics software) Types of Personal Application Software Groupware: it facilitates communication, coordination, and collaboration among people. 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 Ex: Novell’s Group Wise, Oracle’s InterOffice. Software Suits Suites are a number of productivity packages bundled together Microsoft Office Lotus SmartSuite Corel WordPerfect Office Sun StarOffice Software Suites (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 Web Browsers Key software interface to the hyperlinked resources of the World Wide Web and the rest of the Internet. Easy-to-use software tools for displaying Web and the other Internet resources. Internet Explorer Netscape Communicator Programming Languages Programming languages allow people to tell computers what to do and are the means by which software systems are developed. GENERATIONS OF PROGRAMMING LANGUAGES 1st. Since 1940s. MACHINE LANGUAGE: binary code 2nd. Since early ’50s. ASSEMBLER LANGUAGE: mnemonics for numeric code 3rd. Since mid ‘50s. HIGH-LEVEL LANGUAGES 4th. Since late ‘70s. FOURTHGENERATION LANGUAGES * Machine language Lowest-level computer language. It is considered the first-generation language. Composed of binary codes unique to each computer Requires the programmer to write all program instructions in the 0s and 1s of binary code. It is extremely difficult to understand, and use by programmers. Very slow. As a result, increasingly more user-friendly languages have been developed. Assembler language Next level up from machine language. It is still considered a lower-level language but is more user-friendly. Requires language translator programs called assemblers Allows a computer to convert the instructions into machine instructions Frequently called symbolic language 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 HIGH-LEVEL LANGUAGES FORTRAN (FORmula TRANslator): Scientific, Engineering applications COBOL (COmmon Business Oriented Language): Predominant for transaction processing BASIC (Beginners All-purpose Symbolic Instruction Code): General purpose PC language * HIGH-LEVEL LANGUAGES PASCAL: Used to teach structured programming practices. Weak in file handling, input / output C: Powerful PC Language for developing applications. Efficient execution; cross platform. * FOURTH GENERATION LANGUAGES (4GL) Can be used by non-technical users to carry out specific functional tasks. Called NONPROCEDURAL. Can develop applications quickly These languages greatly simplify and accelerate the programming process. * FOURTH GENERATION LANGUAGES (4GL) Examples of the 4GLs are query languages (SQL), report generators (RPG III), graphics languages (Visual C++) and PC software tools (WordPerfect, Ms-Access). Object-oriented programming languages Based on the idea of taking a small amount of data and the instructions about what to do with that data and putting both of them together into what is called an object. Easier to use. Creates reusable code. Reduces time and cost of writing software. OBJECT-ORIENTED PROGRAMMING JAVA: Sun Microsystems OBJECT-ORIENTED PROGRAMMING LANGUAGE Applet: tiny program to execute small function Applets downloaded from network Run on any computer & operating system Designed for real-time, interactive, Web-based network applications * OBJECT-ORIENTED PROGRAMMING HTML (Hypertext Markup Language) A page description language that creates hypertext or hypermedia documents HTML is very easy to use. The standard language the World Wide Web uses for creating and recognizing hypertext documents.