Learning Objectives
• DESCRIBE MAJOR TYPES OF SOFTWARE
• EXAMINE SYSTEM SOFTWARE &
OPERATING SYSTEMS
• EXPLAIN SOFTWARE EVOLUTION
• ANALYZE MAJOR APPLICATION
LANGUAGES
• DESCRIBE APPROACHES TO SOFTWARE
DEVELOPMENT
*
Software
DETAILED INSTRUCTIONS TO CONTROL
COMPUTER OPERATION
• PROGRAM: Set of instructions (i.e., html) for
computer to run
• System Software: Manages computer resources,
e.g., Win98.
• Application Software: MS Office, QVT-term, WSFTP, etc.
• Utility Programs: add-on, supplementary
programs; e.g., Mapedit.
*
SOFTWARE
APPLICATION SOFTWARE
SYSTEM SOFTWARE
HARDWARE
OPERATING SYSTEM:
SCHEDULED COMPUTER
EVENTS ALLOCATES
COMPUTER RESOURCES
MONITORS EVENTS
LANGUAGE TRANSLATORS:
INTERPRETERS
COMPILERS
UTILITY PROGRAMS:
PROGRAMMING LANGUAGES:
ROUTINE OPERATIONS
MANAGE DATA
ASSEMBLY LANGUAGE; FORTRAN;
COBOL; PL / 1; QBASIC; PASCAL; C; C++;
“FOURTH GENERATION” LANGUAGES
Operating System
MANAGES & CONTROLS ACTIVITIES
• Allocation & Assignment of memory
and other resources
• Scheduling (which program gets to
use CPU time, and how)
• Monitoring for resource usage
conflicts
*
Multiprogramming
PROGRAM 1
UNUSED MEMORY
MULTIPROGRAMMING
ENVIRONMENT
OPERATING SYSTEM
OPERATING SYSTEM
TRADITIONAL SINGLEPROGRAM SYSTEM
PROGRAM 1
PROGRAM 2
PROGRAM 3
UNUSED MEMORY
Multitasking
More than one program running on a
single-user system such as PC.
Note: different from multi-processing.
*
6.7
Virtual Storage/Memory
To allow one or many larger programs to run
on the computer using relatively small
amount of RAM (work area)
• Current portions reside in primary storage
• Portions swapped out to HD when done
*
Time Sharing
MANY USERS SHARE LARGE CPU:
• TIME IN CPU DIVIDED INTO SLICES (e.g.:
2 MILLISECONDS)
• EACH USER HAS ACCESS TO CPU
DURING SLICE
• SINCE CPU IS FAST, CAN DO MUCH
DURING TIME SLICE, like a master chess
player
*
Multiprocessing
• Two or more parallel processors in system
• Program can be divided to be processed
by multiple CPUs
• Can process large programs more rapidly
• “Cosmic Cube” and Inktomi search engine
*
6.10
Language Translation
• SOURCE CODE: your program
• COMPILER: convert your program
into machine language
• OBJECT CODE (aka binary code or
bi-code): ready to run program,
executables.
*
Interpreter vs. Compiler
• Interpreter translate one line at a time
for execution. For example, Basic
and Javascript
• Compilers translate the whole
program before execution
Graphical User Interface (GUI)
 Uses Recognition Memory rather
than Recall Memory (used in
command-driven interface)
 More user friendly
*
6.13
MICROCOMPUTER OPERATING SYSTEMS
OPERATING SYSTEM
FEATURES
DOS
For IBM (PC-DOS) and PC (MS-DOS).
Program Memory: 640K
Windows 95, 98,
Me
32-bit operating system; GUI; Multitasking.
Networking
32-bit operating system not limited to Intel chips.
Multitasking; Multiprocessing; Networking
Windows NT,
2K (NT5)
Windows CE
Paired-down for handheld computers, wireless
communication devices
OS/2
32-bit. Developed for IBM PS/2. Multitasking;
Networking
MICROCOMPUTER OPERATING SYSTEMS
OPERATING SYSTEM
UNIX
Linux
Mac OS
6.15
FEATURES
For powerful Microcomputers, Workstations,
Minicomputers. Multitasking; Multi-user
Processing; Networking. Portable to various
Computer Platforms
UNIX on PC
For Macintosh computers. Multitasking.
Powerful Graphics; Multimedia
Generations Of Programming
Languages
1st. Since 1940s. MACHINE
LANGUAGE: binary code
2nd. Since early ’50s. ASSEMBLY
LANGUAGE: mnemonics for numeric
code
3rd. Since mid ‘50s. HIGH-LEVEL
LANGUAGES
4th. Since late ‘70s. MODERN
APPLICATION PACKAGES
6.16
*
HIGH-LEVEL LANGUAGES
• FORTRAN (FORmula TRANslator).
Scientific, Engineering applications
• COBOL (COmmon Business Oriented
Language). Predominant for
Transaction Processing
• BASIC (Beginners All-purpose
Symbolic Instruction Code). General
Purpose PC Language
*
6.17
High-level Languages
• PASCAL. Used to Teach Structured
Programming Practices. Weak in File
Handling, Input / Output
• C and C++. Powerful PC Language for
Developing Applications. Efficient
Execution; Cross Platform
• PL/1 (Programming Language 1). Powerful
IBM Language for Business & Science
• ADA. Designed for Weapon Systems. Can
be used on many Platforms. Structured.
Can be used for Business
*
6.18
Fourth Generation Languages (4GL)
• Address the “expertise” requirement
of “right” tool. Relatively easy to use
• Nonprocedural
• Can develop applications more
quickly
• Use “Natural Languages”
*
6.20
Fourth Generation Languages
(4GL)
1. Query Languages (e.g., SQL)
• rapidly retrieve data
• interactive/ on-line
• may use NATURAL LANGUAGE
• support special requests for data
from relational databases
*
6.21
Fourth Generation Languages
(4GL)
2. Report Generators
3. Graphics Languages
4. Application Generators (e.g.,
InterDev)
6.22
*
Fourth Generation Languages
(4GL)
SQL will be used in Project 3, and IFPS
will be used in Projects 5 and 6 to
demonstrate the capability and
limitations of 4GL
*
6.23
SOFTWARE TOOLS
•
•
•
•
•
•
•
•
WORD PROCESSING
SPREADSHEETS
DATA MANAGEMENT
PRESENTATION GRAPHICS
INTEGRATED SOFTWARE SUITES
E-MAIL
WEB BROWSERS
GROUPWARE
*
6.26
Object-Oriented
Programming
JAVA: Sun Microsystem’s Object-Oriented
programming language
• Applet: small programs for specific functions
(e.g., “hit” counters)
• Applets downloaded from network
• “Cross-platform”
• Only the network software needs upgrade
*
Descargar

7. INFORMATION SYSTEMS SOFTWARE