Transcript PPT

MANAGING
INFORMATION
TECHNOLOGY
FIFTH EDITION
CHAPTER 3
COMPUTER SOFTWARE
E. Wainright Martin  Carol V. Brown  Daniel W. DeHayes
Jeffrey A. Hoffer  William C. Perkins
EVOLUTION OF COMPUTER
PROGRAMMING
First and Second Generation Languages
1. 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
2. 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
© 2005 Pearson Prentice-Hall
Chapter 3 - 2
Page 53
EVOLUTION OF COMPUTER
PROGRAMMING
First and Second Generation Languages
SOURCE
PROGRAM
OBJECT
PROGRAM
(which can be
directly executed
on computer)
© 2005 Pearson Prentice-Hall
Chapter 3 - 3
Figure 3.1 Assembler Translation Process
Page 53
EVOLUTION OF COMPUTER
PROGRAMMING
Third and Fourth Generation Languages
3. 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
© 2005 Pearson Prentice-Hall
Chapter 3 - 4
Page 53
SOURCE
PROGRAM
© 2005 Pearson Prentice-Hall
OBJECT
PROGRAM
Chapter 3 - 5
Figure 3.2 Compiling and Running
a Procedural Language Program
Page 54
SOURCE
PROGRAM
© 2005 Pearson Prentice-Hall
Chapter 3 - 6
Figure 3.3 Interpreting and Running
an Interpretive Language Program
Page 54
EVOLUTION OF COMPUTER
PROGRAMMING
Third and Fourth Generation Languages
4. 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
© 2005 Pearson Prentice-Hall
Chapter 3 - 7
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
© 2005 Pearson Prentice-Hall
Chapter 3 - 8
Figure 3.4 The Software Iceberg
Page 55
KEY TYPES OF SOFTWARE
1. Applications software
2. Support software
© 2005 Pearson Prentice-Hall
Chapter 3 - 9
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
© 2005 Pearson Prentice-Hall
Chapter 3 - 10
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
© 2005 Pearson Prentice-Hall
Chapter 3 - 11
Page 58
© 2005 Pearson Prentice-Hall
Chapter 3 - 12
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
© 2005 Pearson Prentice-Hall
Chapter 3 - 13
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
© 2005 Pearson Prentice-Hall
Chapter 3 - 14
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
© 2005 Pearson Prentice-Hall
Chapter 3 - 15
Page 60
© 2005 Pearson Prentice-Hall
Chapter 3 - 16
Figure 3.6 Microsoft Excel Spreadsheet
Page 61
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
© 2005 Pearson Prentice-Hall
Chapter 3 - 17
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
© 2005 Pearson Prentice-Hall
Chapter 3 - 18
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)
© 2005 Pearson Prentice-Hall
Chapter 3 - 19
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
© 2005 Pearson Prentice-Hall
Chapter 3 - 20
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
© 2005 Pearson Prentice-Hall
Chapter 3 - 21
Page 64
APPLICATIONS SOFTWARE
Personal Productivity Software
Microsoft Office 2003
Edition
Standard
Applications
Word
Word processing
Excel
Spreadsheets
PowerPoint
Presentation graphics
Outlook
E-mail, scheduling
Small
Business
Adds:
Professional
Adds:
Publisher
Access
© 2005 Pearson Prentice-Hall
Purpose
Chapter 3 - 22
Retail price
$399
$449
Desktop publishing
$499
Database management
Page 64
SUPPORT SOFTWARE
The Operating System
Operating system –
complex program that controls operation of computer
hardware and coordinates other software


User communicates with operating system software to
control hardware and software resources
Communication made easier with a graphical user
interface (GUI) feature
© 2005 Pearson Prentice-Hall
Chapter 3 - 23
Page 66
SUPPORT SOFTWARE
The Operating System
Job Control Language (JCL) –
keyed instructions from the computer user to communicate
with the operating system
© 2005 Pearson Prentice-Hall
Chapter 3 - 24
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
© 2005 Pearson Prentice-Hall
Chapter 3 - 25
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
© 2005 Pearson Prentice-Hall
Chapter 3 - 26
Page 67
SUPPORT SOFTWARE
The Operating System
Multiprocessing –
work that takes place when two or more CPUs are installed
on same computer system
© 2005 Pearson Prentice-Hall
Chapter 3 - 27
Page 67
SUPPORT SOFTWARE
The Operating System
 Sources of Operating Systems
Proprietary systems –
most popular type of operating systems, written for a
particular computer hardware configuration



Microcomputers: MS-DOS, PC-DOS, Windows XP
Midrange systems: OS/400
Large systems: VM and MVS
© 2005 Pearson Prentice-Hall
Chapter 3 - 28
Page 68
SUPPORT SOFTWARE
The Operating System
 Sources of Operating Systems
Open systems –
not tied to any particular computer system or hardware
manufacturer – will run on virtually any computer system

Examples: UNIX and Linux
© 2005 Pearson Prentice-Hall
Chapter 3 - 29
Page 68
SUPPORT SOFTWARE
The Operating System
 Sources of Operating Systems
Network operating systems (NOS) –
software running on a server that manages network
resources and controls the operation of a network

Enhanced operating system to allow for
 sharing disk drives and printers
 handling server side of client/server applications
© 2005 Pearson Prentice-Hall
Chapter 3 - 30
Page 68
SUPPORT SOFTWARE
The Operating System
 Sources of Operating Systems
Network operating systems (NOS) –
software running on a server that manages network
resources and controls the operation of a network
 Major players include:
 UNIX and Linux
 Microsoft Windows NT, 2000 Server, 2003 Server
 Novell NetWare
© 2005 Pearson Prentice-Hall
Chapter 3 - 31
Page 68
SUPPORT SOFTWARE
Third Generation Languages
 Procedural languages (3GL)
Require logical thinking
 Entail development of a detailed step-bystep procedure
 Can be developed using structured
programming

© 2005 Pearson Prentice-Hall
Chapter 3 - 32
Page 69
SUPPORT SOFTWARE
Third Generation Languages
Structured programs –
divided into modules, where each has one entry and one
exit point
 Advantages:
Program logic easier to follow
 Maintenance and correction easier and
faster
 Do not use GO TO logic

© 2005 Pearson Prentice-Hall
Chapter 3 - 33
Page 70
SUPPORT SOFTWARE
Third Generation Languages
© 2005 Pearson Prentice-Hall
Chapter 3 - 34
Table 3.1 Stages in the Program
Development Process
Page 70
SUPPORT SOFTWARE
Third Generation Languages
 Most popular procedural languages:
BASIC
 C
 COBOL

© 2005 Pearson Prentice-Hall
Chapter 3 - 35
Page 70-75
© 2005 Pearson Prentice-Hall
Chapter 3 - 36
Figure 3.9
BASIC Program
Page 71
© 2005 Pearson Prentice-Hall
Chapter 3 - 37
Figure 3.10
C Program
Page 72
© 2005 Pearson Prentice-Hall
Chapter 3 - 38
Figure 3.11
COBOL Program
Page 73
© 2005 Pearson Prentice-Hall
Chapter 3 - 39
Figure 3.11
COBOL Program
Page 73
© 2005 Pearson Prentice-Hall
Chapter 3 - 40
Figure 3.11
COBOL Program
Page 74
SUPPORT SOFTWARE
Third Generation Languages
 Other procedural languages:
FORTRAN
 PL/1
 PASCAL
 ADA

© 2005 Pearson Prentice-Hall
Chapter 3 - 41
Page 74
SUPPORT SOFTWARE
Fourth Generation Languages
 Nonprocedural languages:
Use very high-level instructions
 Require fewer instructions
 Easier to write, modify, understand


Example: FOCUS
© 2005 Pearson Prentice-Hall
Chapter 3 - 42
Page 75
© 2005 Pearson Prentice-Hall
Chapter 3 - 43
Figure 3.12
FOCUS Program and Output
Page 76
SUPPORT SOFTWARE
Markup Languages
 Most popular:
HTML: used to create Web pages
 XML: used to facilitate data interchange
among Web applications

© 2005 Pearson Prentice-Hall
Chapter 3 - 44
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
© 2005 Pearson Prentice-Hall
Chapter 3 - 45
Page 78
© 2005 Pearson Prentice-Hall
Chapter 3 - 46
Figure 3.13A
Visual Basic Program
Page 80
© 2005 Pearson Prentice-Hall
Chapter 3 - 47
Figure 3.13B
Visual Basic Screen Layout
Page 81
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
© 2005 Pearson Prentice-Hall
Chapter 3 - 48
Page 83-86
© 2005 Pearson Prentice-Hall
Chapter 3 - 49
Figure 3.17
Grocery Store HTML Form
Page 84
HTML and ASP.NET code
to accompany
Grocery Store HTML Form
© 2005 Pearson Prentice-Hall
Chapter 3 - 50
Figure 3.17
Page 85
Program to Process Data
from Grocery Store HTML Form
© 2005 Pearson Prentice-Hall
Chapter 3 - 51
Figure 3.18
Page 86
© 2005 Pearson Prentice-Hall
Chapter 3 - 52
Figure 3.19 Grocery Store
Confirmation Web Page
Page 86
Code to Generate
Confirmation Web Page
© 2005 Pearson Prentice-Hall
Chapter 3 - 53
Figure 3.19
Page 86
SUPPORT SOFTWARE
Database Management Systems

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
© 2005 Pearson Prentice-Hall
Chapter 3 - 54
Page 87
SUPPORT SOFTWARE
File Organization

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
© 2005 Pearson Prentice-Hall
Chapter 3 - 55
Figure 3.20 File Organizations
Page 88
SUPPORT SOFTWARE
File Organization

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
© 2005 Pearson Prentice-Hall
Chapter 3 - 56
Figure 3.20 File Organizations
Page 88
Relational DBMSs use this scheme
© 2005 Pearson Prentice-Hall
Chapter 3 - 57
Figure 3.21 Relationship Schemes
Page 89
SUPPORT SOFTWARE
CASE Tools
Computer-aided software engineering (CASE) –
collection of software tools to help automate all phases of
the software development life cycle


Growth slower than anticipated
Radically changed nature of systems analyst and
programmer jobs
© 2005 Pearson Prentice-Hall
Chapter 3 - 58
Page 88
SUPPORT SOFTWARE
Communications Interface 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)
© 2005 Pearson Prentice-Hall
Chapter 3 - 59
Page 88-90
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
© 2005 Pearson Prentice-Hall
Chapter 3 - 60
Page 90-91
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
© 2005 Pearson Prentice-Hall
Chapter 3 - 61
Page 92