Martin ch03 final

Uploaded from authorPOINTLite
Views:
 
Category: Education
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Slide1: 

CHAPTER 3 COMPUTER SOFTWARE

EVOLUTION OF COMPUTER PROGRAMMING: 

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 First and Second Generation Languages EVOLUTION OF COMPUTER PROGRAMMING Page 53

EVOLUTION OF COMPUTER PROGRAMMING: 

First and Second Generation Languages EVOLUTION OF COMPUTER PROGRAMMING Page 53 Figure 3.1 Assembler Translation Process SOURCE PROGRAM OBJECT PROGRAM (which can be directly executed on computer)

EVOLUTION OF COMPUTER PROGRAMMING: 

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 Third and Fourth Generation Languages EVOLUTION OF COMPUTER PROGRAMMING Page 53

Slide5: 

Page 54 Figure 3.2 Compiling and Running a Procedural Language Program SOURCE PROGRAM OBJECT PROGRAM

Slide6: 

Page 54 Figure 3.3 Interpreting and Running an Interpretive Language Program

EVOLUTION OF COMPUTER PROGRAMMING: 

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 Third and Fourth Generation Languages EVOLUTION OF COMPUTER PROGRAMMING Page 55

EVOLUTION OF COMPUTER PROGRAMMING: 

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 Third and Fourth Generation Languages EVOLUTION OF COMPUTER PROGRAMMING Page 55 Figure 3.4 The Software Iceberg

KEY TYPES OF SOFTWARE: 

Applications software Support software Page 56 KEY TYPES OF SOFTWARE Figure 3.4 The Software Iceberg

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

APPLICATIONS SOFTWARE: 

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 APPLICATIONS SOFTWARE Examples of Applications Packages

Slide12: 

Page 58 Figure 3.5 “My Business Page” from Peachtree Complete Accounting

APPLICATIONS 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

APPLICATIONS 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

APPLICATIONS 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 APPLICATIONS SOFTWARE Personal Productivity Software

Slide16: 

Page 61 Figure 3.6 Microsoft Excel Spreadsheet

APPLICATIONS 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

APPLICATIONS 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

APPLICATIONS 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

APPLICATIONS 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

APPLICATIONS 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

APPLICATIONS SOFTWARE: 

Page 64 APPLICATIONS SOFTWARE Personal Productivity Software

SUPPORT SOFTWARE: 

User communicates with operating system software to control hardware and software resources Communication made easier with a graphical user interface (GUI) feature Page 66 SUPPORT SOFTWARE The Operating System Operating system – complex program that controls operation of computer hardware and coordinates other software

SUPPORT SOFTWARE: 

Page 66 SUPPORT SOFTWARE The Operating System Job Control Language (JCL) – keyed instructions from the computer user to communicate with the operating system

SUPPORT SOFTWARE: 

Page 66-67 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

SUPPORT SOFTWARE: 

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

SUPPORT SOFTWARE: 

Page 67 SUPPORT SOFTWARE The Operating System Multiprocessing – work that takes place when two or more CPUs are installed on same computer system

SUPPORT SOFTWARE: 

Sources of Operating Systems Microcomputers: MS-DOS, PC-DOS, Windows XP Midrange systems: OS/400 Large systems: VM and MVS Page 68 SUPPORT SOFTWARE The Operating System Proprietary systems – most popular type of operating systems, written for a particular computer hardware configuration

SUPPORT SOFTWARE: 

Sources of Operating Systems Examples: UNIX and Linux Page 68 SUPPORT SOFTWARE The Operating System Open systems – not tied to any particular computer system or hardware manufacturer – will run on virtually any computer system

SUPPORT SOFTWARE: 

Sources of Operating Systems Enhanced operating system to allow for sharing disk drives and printers handling server side of client/server applications Page 68 SUPPORT SOFTWARE The Operating System Network operating systems (NOS) – software running on a server that manages network resources and controls the operation of a network

SUPPORT SOFTWARE: 

Sources of Operating Systems Major players include: UNIX and Linux Microsoft Windows NT, 2000 Server, 2003 Server Novell NetWare Page 68 SUPPORT SOFTWARE The Operating System Network operating systems (NOS) – software running on a server that manages network resources and controls the operation of a network

SUPPORT SOFTWARE: 

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

SUPPORT SOFTWARE: 

Advantages: Program logic easier to follow Maintenance and correction easier and faster Do not use GO TO logic Page 70 SUPPORT SOFTWARE Third Generation Languages Structured programs – divided into modules, where each has one entry and one exit point

SUPPORT SOFTWARE: 

Page 70 SUPPORT SOFTWARE Third Generation Languages Table 3.1 Stages in the Program Development Process

SUPPORT SOFTWARE: 

Most popular procedural languages: BASIC C COBOL Page 70-75 SUPPORT SOFTWARE Third Generation Languages

Slide36: 

Page 71 Figure 3.9 BASIC Program

Slide37: 

Page 72 Figure 3.10 C Program

Slide38: 

Page 73 Figure 3.11 COBOL Program

Slide39: 

Page 73 Figure 3.11 COBOL Program

Slide40: 

Page 74 Figure 3.11 COBOL Program

SUPPORT SOFTWARE: 

Other procedural languages: FORTRAN PL/1 PASCAL ADA Page 74 SUPPORT SOFTWARE Third Generation Languages

SUPPORT SOFTWARE: 

Nonprocedural languages: Use very high-level instructions Require fewer instructions Easier to write, modify, understand Example: FOCUS Page 75 SUPPORT SOFTWARE Fourth Generation Languages

Slide43: 

Page 76 Figure 3.12 FOCUS Program and Output

SUPPORT SOFTWARE: 

Most popular: HTML: used to create Web pages XML: used to facilitate data interchange among Web applications Page 72-73 SUPPORT SOFTWARE Markup Languages

SUPPORT SOFTWARE: 

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 Object-Oriented Programming

Slide46: 

Page 80 Figure 3.13A Visual Basic Program

Slide47: 

Page 81 Figure 3.13B Visual Basic Screen Layout

SUPPORT SOFTWARE: 

HTML Server-side programming languages: Perl Java Servlets and Java Server Pages Microsoft Active Server Pages (ASP, ASP.NET) ColdFusion Page 83-86 SUPPORT SOFTWARE Languages for Developing Web Applications

Slide49: 

Page 84 Figure 3.17 Grocery Store HTML Form

Slide50: 

Page 85 Figure 3.17 HTML and ASP.NET code to accompany Grocery Store HTML Form

Slide51: 

Page 86 Figure 3.18 Program to Process Data from Grocery Store HTML Form

Slide52: 

Page 86 Figure 3.19 Grocery Store Confirmation Web Page

Slide53: 

Page 86 Figure 3.19 Code to Generate Confirmation Web Page

SUPPORT SOFTWARE: 

DBMS – support software used to create, manage, and protect organizational data Database – shared collection of logically related data organized to meet organizational needs Relational DBMS Most common type Data arranged in simple tables Records related by storing common data in each associated table Examples: Microsoft Access and SQL Server, Paradox, DB2, and Ingres Page 87 SUPPORT SOFTWARE Database Management Systems

SUPPORT SOFTWARE: 

Sequential – arranges records physically adjacent and in order by some (usually unique) sort key Direct – uses key for records placed so that they are rapidly accessed from DASDs Page 88 SUPPORT SOFTWARE File Organization Figure 3.20 File Organizations

SUPPORT SOFTWARE: 

SUPPORT SOFTWARE Indexed Compromise between sequential and direct Record keys only arranged in sequence in a separate table, along with location of rest of data associated with that key Popular types include ISAM and VSAM Page 88 File Organization Figure 3.20 File Organizations

Slide57: 

Page 89 Figure 3.21 Relationship Schemes Relational DBMSs use this scheme

SUPPORT SOFTWARE: 

Growth slower than anticipated Radically changed nature of systems analyst and programmer jobs Page 88 SUPPORT SOFTWARE CASE Tools Computer-aided software engineering (CASE) – collection of software tools to help automate all phases of the software development life cycle

SUPPORT SOFTWARE: 

Large computers need to control workstations and terminals Example software: IBM’s CICS, TSO, and CMS LANs and WANs Need to connect to the Internet Web browsers Telenet File Transfer Protocol (FTP) Page 88-90 SUPPORT SOFTWARE Communications Interface Software

THE CHANGING NATURE OF SOFTWARE: 

More complexity of hardware/software arrangements Less concern with machine efficiency More purchased applications More programming using object-oriented and visual languages More emphasis on applications that run on intranets and the Internet More user development More use of personal productivity software Page 90-91 THE CHANGING NATURE OF SOFTWARE

THE SOFTWARE COMPONENT OF THE INFORMATION SYSTEMS INDUSTRY: 

More complexity of hardware/software arrangements Less concern with machine efficiency More purchased applications More programming using object-oriented and visual languages More emphasis on applications that run on intranets and the Internet Page 92 THE SOFTWARE COMPONENT OF THE INFORMATION SYSTEMS INDUSTRY