Title: Computer Software
1CHAPTER 3
2THE 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
3EVOLUTION 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
4EVOLUTION 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
5KEY 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
6APPLICATION SOFTWARE
- WORD PROCESSING
- SPREADSHEETS
- DATABASE MANAGEMENT SYSTEMS
- PRESENTATION GRAPHICS
7APPLICATION SOFTWARE
- WORLD WIDE WEB BROWSERS
- ELECTRONIC MAIL, GROUPWARE
- DESKTOP PUBLISHING
- APPLICATION SUITES
8SUPPORT 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
9SUPPORT 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
10SOURCES 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
11GRAPHICAL 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
-
12OBJECT-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
13OTHER 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 -
14DATABASE 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
15TYPES OF DBMSs
- HIERARCHICAL Data arranged in a top-down,
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
16FILING 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
17COMPONENTS 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
18STRUCTURED QUERY LANGUAGE (SQL)
- EMERGING STANDARD
- DATA MANIPULATION LANGUAGE
- FOR RELATIONAL DATABASES
19ADVANTAGES 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
20COMPUTER-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
21CHANGING NATURE OF SOFTWARE
- MORE HARDWIRING OF SOFTWARE AND MORE MICROCODE
- MORE COMPLEXITY OF HARDWARE/SOFTWARE ARRANGEMENTS
- LESS CONCERN WITH MACHINE EFFICIENCY
22CHANGING NATURE OF SOFTWARE
- MORE PURCHASED APPLICATIONS AND MORE PORTABILITY
OF THESE APPLICATIONS FROM ONE COMPUTER PLATFORM
TO ANOTHER - MORE PROGRAMMING USING OBJECT-ORIENTED AND VISUAL
LANGUAGES, IN LARGE PART BECAUSE OF EMPHASIS ON
GUIs
23CHANGING 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
24CHAPTER 3