Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Chapter 3: Computer Software Stored Program Concept The concept of preparing a precise list of exactly what the computer is to do (this list is called a program), loading or storing this program in the memory of the computer, and then letting the control unit carry out the program at electronic speed. The program must be in a form that the control unit of the computer has been built to understand. Software The set of programs that control the operations of the computer system These programs consists of a series of instructions; each instruction is an individual step or operation in a program Evolution of Computer Software First Generation - machine language language that particular computer has been built to understand Second Generation - assembly language - substitute mnemonic operation codes and symbolic addresses - translate to machine language by assembler Evolution of Computer Software (continued) Third Generation - procedural language - FORTRAN, COBOL, C - translate to machine language by compiler or interpreter Fourth Generation - nonprocedural language - tell what to do, not how to do it - order not important - translate to machine language by compiler or interpreter Two Kinds of Software Applications software -- programs written to accomplish particular tasks for computer users Support software -- programs that support applications software in producing the needed output; support software does not directly produce output needed by users Personal Productivity Software Word processing Spreadsheets Database management systems Presentation graphics Personal Productivity Software (continued) Desktop publishing Statistics Application suites -- somewhat integrated suites of applications -Microsoft, Lotus, Corel World Wide Web browsers Support Software Operating systems Communications interface software Utility programs Language translators Database management systems (DBMSs) CASE tools (computer-assisted systems engineering) Operating System A very complex program (software) that controls the operation of the computer hardware and coordinates all the other software Examples: DOS, OS/2, System/7, Unix, VMS, VM, MVS, Windows 95, Windows 98, Windows NT Job Control Language (JCL) The specialized computer language by which computer users communicate with the operating system DOS examples: dir, cd, md, rd, copy With GUI operating systems, JCL becomes a series of mouse clicks or drags Multiprogramming A procedure by which the operating system switches back and forth among a number of programs, all located in memory at the same time, to keep the CPU (processor) busy while input/output operations are taking place Called multitasking on smaller machines Virtual Memory A procedure by which the operating system switches portions of programs (called pages) between main memory and DASD (disk) so that portions of enough programs are stored in main memory to enable efficient multiprogramming Appears to user as though main memory is unlimited Object-Oriented Programming (OOP) A type of computer programming based on the creation and use of a set of objects, each of which combines data and methods (or chunks of programs) Most popular OOP languages are C++ and Smalltalk Database Management System (DBMS) Support software that is used to create, manage, and protect organizational data A DBMS is the software that manages a database; it works with the operating system to store and modify data and to make data accessible in authorized ways Types of DBMSs Hierarchical -- data are arranged in a top-down, organization chart fashion Network -- data are arranged like the cities on a highway systems, often with multiple paths between pieces of data Relational -- data are arranged into simple tables, and records are related by storing common data in each of the associated tables Advantages of Relational DBMS New data elements can easily be added as new needs arise New relationships can be created as new query/reporting needs change Fewer data consistency problems due to less redundant data storage More “user friendly” tools Relational DBMS Features to be Evaluated for Useability Building tables and relationships Creating forms for data entry Building and changing queries Report customization Importing and exporting data Constructing custom controls Wizards or other application assistants Computer-Aided Software Engineering (CASE) A collection of software support tools (designed to be used by computer professionals) to help automate software development May include upper-CASE (requirements definition and design), lower-CASE (code generation), and ICASE or integrated-CASE Changing Nature of Software (I) More hardwiring of software and more microcode More complexity of hardware/software arrangements Less concern with machine efficiency More purchased applications, and more portability of these applications from one computer platform to another Changing Nature of Software (II) More programming using objectoriented and visual languages, in large part because of the emphasis on GUIs More emphasis on applications that run on intranets and the Internet More user development More use of personal productivity software on microcomputers, especially packages with a GUI