610 likes | 788 Views
CHAPTER 3 C OMPUTER S OFTWARE. E VOLUTION OF C OMPUTER P ROGRAMMING. First and Second Generation Languages. Machine language (1GL) Each instruction must be expressed in unique form for a particular computer Complete program consists of thousands of instructions
E N D
CHAPTER 3 COMPUTER SOFTWARE
EVOLUTION OF COMPUTER PROGRAMMING First and Second Generation Languages • Machine language (1GL) • Each instruction must be expressed in unique form for a particular computer • Complete program consists of thousands of instructions • Programming was tedious, time-consuming process • Assembly languages (2GL) • Use computer itself to perform many aspects of the programming • Create a machine language program as output, that is then used by the computer’s control unit Page 53
EVOLUTION OF COMPUTER PROGRAMMING First and Second Generation Languages SOURCE PROGRAM OBJECT PROGRAM (which can be directly executed on computer) Page 53 Figure 3.1 Assembler Translation Process
EVOLUTION OF COMPUTER PROGRAMMING Third and Fourth Generation Languages • Procedural Languages (3GL) • Generally are machine independent. • Express a step-by-step procedure developed by programmer • Must be compiled or interpreted (translated into machine language) • Include FORTRAN, COBOL, BASIC, PL/1, PASCAL, ADA, and C Page 53
SOURCE PROGRAM OBJECT PROGRAM Figure 3.2 Compiling and Running a Procedural Language Program Page 54
SOURCE PROGRAM Figure 3.3 Interpreting and Running an Interpretive Language Program Page 54
EVOLUTION OF COMPUTER PROGRAMMING Third and Fourth Generation Languages • Nonprocedural Languages (4GL) • Also referred to as productivity languages • Use more English-like statements for program instructions • Easier to use, write, and less error-prone • Use a built-in interpreter to convert to machine language • Take much longer to execute than 3GLs • Include FOCUS, CA-Ramis, IFPS, and SAS Page 55
EVOLUTION OF COMPUTER PROGRAMMING Third and Fourth Generation Languages Object-Oriented (Visual) Languages • 3GLs with some 4GL features • Built on idea of embedding procedures (methods) in objects, and putting objects together to create an application • Include Smalltalk, C++, Java, and Visual Basic Figure 3.4 The Software Iceberg Page 55
KEY TYPES OF SOFTWARE • Applications software • Support software Figure 3.4 The Software Iceberg Page 56
APPLICATIONS SOFTWARE • Programs written to accomplish particular tasks • Diverse … some general-purpose and some specific • Examples include: • General ledger accounting • Portfolio management • Sales forecasting • Material requirements planning (MRP) • Electronic mail • Desktop publishing Page 56-57
APPLICATIONS SOFTWARE Examples of Applications Packages • Peachtree Accounting Complete • Commercial accounting package for smaller businesses • Includes general ledger, accounts receivable, accounts payable, inventory, payroll, time and billing, job costing, fixed asset accounting, and analysis and reporting tools • $300 for single-user version Page 58
Figure 3.5 “My Business Page” from Peachtree Complete Accounting Page 58
APPLICATIONS SOFTWARE Personal Productivity Software • Word processing • Spreadsheets • Presentation graphics • Electronic mail and groupware • Database management systems • Desktop publishing • Web browsers • Statistical packages Page 59-63
APPLICATIONS SOFTWARE Personal Productivity Software • Word processing • Used to create documents for printing • Most popular is Microsoft Word • Others are Corel WordPerfect, Lotus Word Pro, and Sun’s StarOffice Writer • All employ WYSIWYG Page 59-60
APPLICATIONS SOFTWARE Personal Productivity Software • Spreadsheets • Used to create applications that fit a row-column format • Most popular is Microsoft Excel • Others are Lotus 1-2-3 and Corel Quattro Pro • All employ rows, columns, cells, formulas, “what-if” analysis Page 60
Page 61 Figure 3.6 Microsoft Excel Spreadsheet
APPLICATIONS SOFTWARE Personal Productivity Software • Database Management Systems • Used to create databases similar to those on larger machines • Most popular is Microsoft Access • Others are FileMaker Pro, Corel Paradox, and Lotus Approach • All employ a relational data model Page 61
APPLICATIONS SOFTWARE Personal Productivity Software • Presentation Graphics • Used to create largely textual business presentations • Most popular is Microsoft PowerPoint • Others are Corel Presentations and Lotus Freelance Graphics • All allow embedding of clip art, photos, graphs, and other media Page 61-62
APPLICATIONS SOFTWARE Personal Productivity Software • World Wide Web Browsers • Used to access information on the Web • Requires ISP service to link PC to Internet • Create documents for printing • Most popular are Internet Explorer and Netscape Navigator … both free! • Both employ standard hypertext-based approach (way to link text and media objects to each other) • Use pull technology – browser requests a Web page before it is sent to desktop • Use push technology – data sent to client without requesting it (such as e-mail) Page 62-63
APPLICATIONS SOFTWARE Personal Productivity Software • Electronic Mail • Preferred way of communicating in business today • Easy to use and precise • Groupware • Incorporates e-mail and other productivity features, such as calendaring, scheduling, and document sharing Page 63
APPLICATIONS SOFTWARE Personal Productivity Software • Office Suites • Popular software applications bundled together and sold as a single package (suite) • Used for home or office • Most popular is Microsoft Office • Others are Corel WordPerfect Office, Lotus SmartSuite, and Sun StarOffice Page 64
APPLICATIONS SOFTWARE Personal Productivity Software Page 64
SUPPORT SOFTWARE The Operating System • User communicates with operating system software to control hardware and software resources • Communication made easier with a graphical user interface (GUI) feature Operating system – complex program that controls operation of computer hardware and coordinates other software Page 66
SUPPORT SOFTWARE The Operating System Job Control Language (JCL) – keyed instructions from the computer user to communicate with the operating system Page 66
SUPPORT SOFTWARE The Operating System Multiprogramming – employed on larger machines to overlap input and output operations with processing time, keeping the CPU busy and speeding up execution Multitasking – similar to multiprogramming, but employed on microcomputers Page 66-67
SUPPORT SOFTWARE The Operating System • Virtual Memory • Concerned with management of main memory • Makes it appear more memory available than actually is • Used only on larger computers • Permits multiprogramming to operate more efficiently Page 67
SUPPORT SOFTWARE The Operating System Multiprocessing – work that takes place when two or more CPUs are installed on same computer system Page 67
SUPPORT SOFTWARE The Operating System • Sources of Operating Systems • Microcomputers: MS-DOS, PC-DOS, Windows XP • Midrange systems: OS/400 • Large systems: VM and MVS Proprietary systems – most popular type of operating systems, written for a particular computer hardware configuration Page 68
SUPPORT SOFTWARE The Operating System • Sources of Operating Systems • Examples: UNIX and Linux Open systems – not tied to any particular computer system or hardware manufacturer – will run on virtually any computer system Page 68
SUPPORT SOFTWARE The Operating System • Sources of Operating Systems • Enhanced operating system to allow for • sharing disk drives and printers • handling server side of client/server applications Network operating systems (NOS) – software running on a server that manages network resources and controls the operation of a network Page 68
SUPPORT SOFTWARE The Operating System • Sources of Operating Systems • Major players include: • UNIX and Linux • Microsoft Windows NT, 2000 Server, 2003 Server • Novell NetWare Network operating systems (NOS) – software running on a server that manages network resources and controls the operation of a network Page 68
SUPPORT SOFTWARE Third Generation Languages • Procedural languages (3GL) • Require logical thinking • Entail development of a detailed step-by-step procedure • Can be developed using structured programming Page 69
SUPPORT SOFTWARE Third Generation Languages • Advantages: • Program logic easier to follow • Maintenance and correction easier and faster • Do not use GO TO logic Structured programs – divided into modules, where each has one entry and one exit point Page 70
SUPPORT SOFTWARE Third Generation Languages Table 3.1 Stages in the Program Development Process Page 70
SUPPORT SOFTWARE Third Generation Languages • Most popular procedural languages: • BASIC • C • COBOL Page 70-75
Figure 3.9 BASIC Program Page 71
Figure 3.10 C Program Page 72
Figure 3.11 COBOL Program Page 73
Figure 3.11 COBOL Program Page 73
Figure 3.11 COBOL Program Page 74
SUPPORT SOFTWARE Third Generation Languages • Other procedural languages: • FORTRAN • PL/1 • PASCAL • ADA Page 74
SUPPORT SOFTWARE Fourth Generation Languages • Nonprocedural languages: • Use very high-level instructions • Require fewer instructions • Easier to write, modify, understand • Example: FOCUS Page 75
SUPPORT SOFTWARE Markup Languages • Most popular: • HTML: used to create Web pages • XML: used to facilitate data interchange among Web applications Page 72-73
SUPPORT SOFTWARE Object-Oriented Programming • Requires more computing power • Has built-in GUI • Neither 3GL nor 4GL … new paradigm • Creates objects only once and stores for reuse • Object examples: • Text box, check box, entity in an organization • Languages: • Smalltalk, C++, Java, Visual Basic.NET Page 78
SUPPORT SOFTWARE Languages for Developing Web Applications • HTML • Server-side programming languages: • Perl • Java Servlets and Java Server Pages • Microsoft Active Server Pages (ASP, ASP.NET) • ColdFusion Page 83-86
HTML and ASP.NET code to accompany Grocery Store HTML Form Figure 3.17 Page 85