Transcript CHAPTER 1
CHAPTER 3
Computer Software
3.1
© Prentice Hall 2002
THE STORED PROGRAM
CONCEPT
• COMPUTER IS A BINARY SYSTEM
• PROGRAM: A set of instructions telling
the computer what to do
• INSTRUCTION: Individual step or
operation in a program
• MACHINE LANGUAGE: Translated
instruction understood by particular
model of computer
3.2
© Prentice Hall 2002
*
EVOLUTION OF COMPUTER
SOFTWARE
• FIRST GENERATION: Machine language binary language designed for particular
computer
• SECOND GENERATION: Assembly
language - substituted mnemonic operation
codes and addresses, translated to machine
language by assembler
*
3.3
© Prentice Hall 2002
EVOLUTION OF COMPUTER
SOFTWARE
• THIRD GENERATION: Procedural
language - FORTRAN, COBOL, C translated to machine language by compiler
or interpreter. Example: COBOL
• FOURTH GENERATION: Nonprocedural
language. Tell what to do, not how to do it,
order not important. Translate to machine
language by compiler or interpreter.
Example: FOCUS
*
3.4
© Prentice Hall 2002
KEY TYPES OF SOFTWARE
• APPLICATION SOFTWARE: Programs
written to accomplish particular tasks for
computer users
• SUPPORT SOFTWARE: Programs that
support application software in producing
needed output. Does not directly produce
output needed by users
*
3.5
© Prentice Hall 2002
APPLICATION SOFTWARE
• WORD PROCESSING
• SPREADSHEETS
• DATABASE MANAGEMENT SYSTEMS
• PRESENTATION GRAPHICS
*
3.6
© Prentice Hall 2002
APPLICATION SOFTWARE
• WORLD WIDE WEB BROWSERS
• ELECTRONIC MAIL, GROUPWARE
• DESKTOP PUBLISHING
• APPLICATION SUITES
*
3.7
© Prentice Hall 2002
SUPPORT SOFTWARE
• OPERATING SYSTEMS: Helps maximize
work done, eases workload of users
• JOB CONTROL LANGUAGE: Allows users
to communicate with operating systems
• MULTIPROGRAMMING: Large
computers can run multiple programs
simultaneously. Time-driven approach is
time-sharing
*
3.8
© Prentice Hall 2002
SUPPORT SOFTWARE
• MULTITASKING: Allows small computers
to work on several programs interactively
• VIRTUAL MEMORY: Allows computer to
run portions of a large program as required,
saving use of main memory
• MULTIPROCESSING: Multiple CPUs
divide workload, increases efficiency
*
3.9
© Prentice Hall 2002
SOURCES OF OPERATING
SYSTEMS
• PROPRIETARY: Written for particular
computer class or system. Examples:
Windows 98, Windows 2000
• OPEN SYSTEM: Not tied to specific
platform. Examples: UNIX, Linux
• NETWORK OPERATING SYSTEM
(NOS): Manages network resources,
local area networks
*
3.10
© Prentice Hall 2002
GRAPHICAL USER
INTERFACE (GUI)
• MOUSE: A standard pointing device
• ICON: Graphic or label on screen associated
with task or operation
• 32-BIT OPERATING SYSTEM:
Operating system handles 32 bits at a time
• CLICKING MOUSE ON ICON
INITIATES TASK
*
3.11
© Prentice Hall 2002
OBJECT-ORIENTED
PROGRAMMING (OOP)
• COMPUTER PROGRAMMING BASED
ON CREATING, USING SET OF
OBJECTS: Object combines data and
methods (or chunks of programs)
• EXAMPLES: C++, Smalltalk, Java
*
3.12
© Prentice Hall 2002
OTHER LANGUAGES
• NATURAL LANGUAGES: User types in
or speaks English, computer evolves program
• HYPERTEXT MARKUP LANGUAGE
(HTML): Code used to develop World
Wide Web (WWW) pages and sites
• eXtensible Markup Language (XML):
Used for data exchange on WWW
*
3.13
© Prentice Hall 2002
DATABASE MANAGEMENT
SYSTEM (DBMS)
• SUPPORT SOFTWARE USED TO
CREATE, MANAGE, AND PROTECT
ORGANIZATIONAL DATA
• DBMS: Software that manages a
database, works with operating system
to store and modify data and to make
data accessible in authorized ways
*
3.14
© Prentice Hall 2002
TYPES OF DBMSs
• HIERARCHICAL: Data arranged in a topdown, organization chart fashion
• NETWORK: Data arranged like cities on a
highway systems, often with multiple paths
between pieces of data
• RELATIONAL: Data arranged into simple
tables, and records are related by storing
common data in each of the associated tables
*
3.15
© Prentice Hall 2002
FILING METHODS
• INDEXED SEQUENTIAL ACCESS METHOD
(ISAM) :
– EACH RECORD IDENTIFIED BY KEY
– GROUPED IN BLOCKS AND CYLINDERS
– KEYS IN INDEX
• VIRTUAL STORAGE ACCESS METHOD (VSAM) :
– MEMORY DIVIDED INTO AREAS & INTERVALS
– DYNAMIC FILE SPACE
VSAM WIDELY USED FOR RELATIONAL DATABASES
• DIRECT FILE ACCESS METHOD
*
3.16
© Prentice Hall 2002
COMPONENTS OF DBMS:
• DATA DEFINITION LANGUAGE:
Defines data elements in database
• DATA MANIPULATION LANGUAGE:
Manipulates data for applications
• DATA DICTIONARY/DIRECTORY:
Formal definitions of all variables in
database, controls variety of database
contents
3.17
*
© Prentice Hall 2002
STRUCTURED QUERY
LANGUAGE (SQL)
EMERGING STANDARD
DATA MANIPULATION LANGUAGE
FOR RELATIONAL DATABASES
*
3.18
© Prentice Hall 2002
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
3.19
*
© Prentice Hall 2002
COMPUTER-AIDED SOFTWARE
ENGINEERING (CASE)
• HELPS AUTOMATE SOFTWARE
DEVELOPMENT: Used by computer
professionals to help automate software
development
• MAY INCLUDE:
– upper-CASE (requirements definition and
design)
– lower-CASE (code generation)
– I-CASE or integrated-CASE
3.20
*
© Prentice Hall 2002
CHANGING NATURE OF
SOFTWARE
• MORE HARDWIRING OF SOFTWARE AND
MORE MICROCODE
• MORE COMPLEXITY OF
HARDWARE/SOFTWARE ARRANGEMENTS
• LESS CONCERN WITH MACHINE
EFFICIENCY
*
3.21
© Prentice Hall 2002
CHANGING NATURE OF
SOFTWARE
• MORE PURCHASED APPLICATIONS AND
MORE PORTABILITY OF THESE
APPLICATIONS FROM ONE COMPUTER
PLATFORM TO ANOTHER
• MORE PROGRAMMING USING OBJECTORIENTED AND VISUAL LANGUAGES, IN
LARGE PART BECAUSE OF EMPHASIS ON
GUIs
*
3.22
© Prentice Hall 2002
CHANGING NATURE OF
SOFTWARE
• 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
*
3.23
© Prentice Hall 2002
CHAPTER 3
Computer Software
3.24
© Prentice Hall 2002