Stair Principles-Chapter 4 - University of Illinois at Chicago

Download Report

Transcript Stair Principles-Chapter 4 - University of Illinois at Chicago

CHAPTER
4
Software:
Systems and Application
Software
Software
Computer programs
Sequences of instructions for the computer
Documentation
Describes the program functions
Helps users operate the computer system
continued...
Software
System software
The set of programs designed to coordinate the activities
and functions of the hardware and various programs
throughout the computer system
Computer system platform
The combination of a particular hardware configuration
and systems software
Application software
Programs that help users solve particular computing
problems
Classifying Software by Type and
Sphere of Influence
[Table 4.1]
Utility Programs
Merge and sort sets of data
Keep track of computer jobs being run
Compress files of data before they are stored or
transmitted over a network
Perform other important repetitive tasks
Examples of Utility Programs
[Table 4.2]
Operating Systems
Operating System: A set of computer programs that control
the computer hardware to support users’ computing needs.
Operating System Tasks:
 Common hardware
functions
 User interfaces
 Hardware independence
 Networking capability
 Memory management
 Processing tasks
 Access to system resources
 File management
Role of the Operating System
The operating system, as well as other systems software,
functions as a buffer between application software and
hardware.
[Figure 4.2]
User Interface
Allows users to access and command the
computer system
Command-based user interface
Requires that text commands be given to the computer to
perform basic activities
User Interface
Graphic user interface (GUI)
Uses pictures (icons) and menus displayed on screen to
send commands to the computer system
Advantages of Using a GUI
Intuitive environment
Consistent applications
Flexible applications
Cut and paste between applications
Easy to use applications
Undo capability
Confirmation of important operations
Memory Management
Virtual memory
Allocates space on disk to supplement the immediate,
functional memory capacity of RAM
Paging
Stores currently needed pages of a number of programs in
RAM while the rest of these programs wait on the disk
How the Operating System
Controls Physical Access
Virtual Memory
[Figure 4.5]
Processing Tasks
Multitasking
Allows a user to run more than one application at a time
Multithreading
Multitasking within a single application
Time-sharing
Allows more than one person to use a computer system at
the same time
Popular Operating Systems
 PC-DOS and MS-DOS
 DOS with Windows
 OS/2
 Windows 95
 Microsoft Windows CE
 Apple computer OS
 System 7.6
 Future Mac OS
developments
 Widows NT and NT
Workstation
 Unix
 Multiple Virtual
Storage/Enterprise
Systems Architecture
How Application Software
Supports Business Objectives
Applies to specific organizational activities and
functions
Provides significant internal efficiencies and
supports corporate goals
Types of Application Software
Proprietary software
One-of-a-kind program for a specific application
Off-the-shelf software
Existing software program
Customized
Off-the-shelf program modified or customized (in-house
or externally)
Proprietary Application Software
In-house development
Software developed by an enterprise for its own use
Contract software
Proprietary software developed for a particular company
Sources of Software:
Proprietary and Off-the-Shelf
[Figure 4.6]
Personal Application Software
Personal productivity tool
PC software for specialized tasks
Word processing
Spreadsheet analysis
Database applications
Graphic programs
On-line information services
Software suites
Object Linking and Embedding
(OLE)
Process where text can be copied or graphics can
be embedded from one document or program into
another
Server application
Supplies objects that can be placed into other applications
Client application
Accepts objects from other applications
Object Linking and Embedding
(OLE)
Copying
Does not change data between applications
Linking
A relational database process
Can occur when two tables share at least one common
element
Embedding
A process of putting one object into another document
Workgroup Software
Allows two or more people in a group to work
effectively together to use word processing,
databases, spreadsheets, and related software
packages
Also called groupware
Enterprise Software
Software that benefits the entire organization
[Figure 4.16]
Software Issues and Trends
Software licensing
Software upgrades
Shareware
Author expects a modest payment for the privilege of
using the software
Freeware
Software that is free
Open systems
A vision of computing products that work together
Protection of
Software Copyrights
Poster p171
Programming Languages
Coding schemes that provide instruction to the
computer system so that it can perform a
processing activity
Syntax
The set of rules that a language has
Program Language Standards
A set of rules that describe how programming statements
should be written
Developed by the American National Standards Institute
(ANSI)
Characteristics of Programming
Languages
[Figure 4.17]
Evolution of
Programming Languages
[Table 4.11]
Machine Language (1GLs)
First generation programming language
Instructions written in binary code (using only 0s
and 1s)
Considered a low-level language
[Figure 4.18]
Assembly Language (2GLs)
Second generation programming language
Replaces binary digits with symbols that can be
more easily understood
All languages beyond first generation are called
symbolic languages.
High-Level Languages (3GLs)
Third-generation languages
Use English-like statements and commands
Query and Database Languages
(4GLs)
Fourth-generation languages
Less procedural and more English-like than highlevel languages
Features
Query and database abilities
Code-generation abilities
Graphics abilities
Natural and Intelligent Languages
(5GLs)
Fifth generation programming languages
Used to create programs employing artificial
intelligence and expert system technology
Natural languages
Allow end users to access stored data and interact with the
computer using ordinary words
Object-Oriented
Programming Languages
Allow interaction of programming objects
Encapsulation
Process of grouping items into an object
Polymorphism
Allows development of one routine that will work with multiple
objects
Inheritance
Allows objects in a group of objects to take on characteristics of
other objects in the same group or class of objects
Reusable code
Instruction code that can be reused in different programs for a
variety of applications
Object-Oriented
Programming Languages
Smalltalk
C++
Java
Language Translators
Systems software that converts source code into
its equivalent in machine language
Source code
High-level program code that is converted by the language
translator
Object code
Machine language code that is converted from the source
code
Interpreter
A language translator that translates one program
statement at a time as the program is running
[Figure 4.20]
How a Compiler Works
A compiler is a language
translator that converts a
complete program into
machine language to
produce a program that
the computer can process
in its entirety.
 [Figure 4.21]
Information Systems Principles
In choosing an organization's operating system,
make a selection based on the needs and cost
constraints of the organization.
Information Systems Principles
Effective implementation of application software
can improve efficiency and support corporate
goals. Careful analysis of goals and needs should
precede any decision as to the best approach for
acquiring application software.
Information Systems Principles
Choose the programming language appropriate to
the task at hand and one that is consistent with
the organization’s strategic technical direction.