Transcript Chapter 3
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