You are on page 1of 32

Computer Software

Learning Objectives
Describe several important trends occurring in
computer software.
Give examples of several major types of
application and system software.
Explain the purpose of several popular
software packages for end user productivity
and collaborative computing.
Outline the functions of an operating system.
Describe the main uses of software
programming languages and tools.

Software
Types of software
Application software
System software

Application software for end users


Application-specific
General-purpose
Perform common information processing jobs
Sometimes known as productivity packages

Software Suites and Integrated Packages

Suites are a number of


productivity packages bundled
together
Microsoft Office
Lotus SmartSuite
Corel WordPerfect Office
Sun StarOffice

Software Suites and Integrated Packages


(continued)
Advantages of suites

Cost
Similar graphical user interface
Share common tools
Programs are designed to work
together

Disadvantages of suites
Large size
Many features never used by many end
users

Software Suites and Integrated Packages


(continued)

Integrated Packages
Combine SOME of the features of
several programs
Cannot do as much as individual
packages or suites

Web Browsers

Key software interface to the


hyperlinked resources of the
World Wide Web and the rest of
the Internet
Internet Explorer
Netscape Communicator

Electronic Mail and Instant Messaging

E-Mail
Has changed the way people work
and communicate

Instant Messaging
An e-mail/computer conferencing
hybrid technology
Allows real time
communication/collaboration

Word Processing and Desktop Publishing


Word Processing
Has computerized the creation, editing,
revision, and printing of documents.
Advanced features

Desktop Publishing
Design and print newsletters, brochures,
manuals, and books

Electronic Spreadsheets

Used for business analysis,


planning, and modeling
Involves designing its format
and developing the relationships
(formulas)

Presentation Graphics

Helps convert numeric data


into graphic displays
Helps prepare multimedia
presentations
Easy to use

Personal Information Managers

For end user productivity and


collaboration
Store, organize, and retrieve
information

Information about customers


Appointments
Contact lists
Task lists
Schedules

Groupware
Collaboration software
Helps workgroups and teams work
together to accomplish group
assignments
Combines a variety of software
features and functions

E-mail
Discussion groups and databases
Scheduling
Task management
Audio and videoconferencing
Data sharing

System Software Overview

Programs that manage and


support a computer system and its
information processing activities
Serves as the software interface
between computer networks and
hardware and the application
programs of end users

System Software Overview (continued)

Two major categories


System management programs

Operating systems
Network management programs
Database management systems
System utilities

System development programs


Programming language translators &
editors
CASE (computer-aided software
engineering)

Operating Systems

Integrated system of programs


that
Manages the operations of the CPU
Controls the input/output and
storage resources and activities of
the computer system
Provides various support services
as the computer executes
application programs

Operating Systems (continued)

Performs five basic functions


Provides a user interface
Allows humans to communicate with
the computer
Command-driven
Menu-driven
Graphical user interface

Operating Systems (continued)

Five basic functions (continued)


Resource management
Manages the hardware and networking
resources of the system
Virtual memory capability

Operating Systems (continued)

Five basic functions (continued)


File management
Controls the creation, deletion, and
access of files of data and programs
Keeps track of the physical location of
files

Operating Systems (continued)

Five basic functions (continued)


Task management
Manages the accomplishment of the
computing tasks of end users
Multitasking
Multiprogramming
Timesharing

Operating Systems (continued)


Popular Operating Systems
Windows

95, 98, ME
NT
2000
XP

Popular operating systems


(continued)
UNIX
Linux
Mac OS X

Database Management Systems


Controls the development, use, and
maintenance of databases.
Helps organizations use their
integrated collections of data records
and files
Allows different user application
programs to easily access the same
database
Simplifies the process of retrieving
information from databases

Other System Management Programs

Utility Programs
Perform miscellaneous
housekeeping and file conversion
functions

Data backup
Data recovery
Virus protection
Data compression
Data defragmentation

Performance monitors and security


monitors

Programming Languages

Allows a programmer to develop


the sets of instructions that
constitute a computer program
Machine Language
First generation language
Written using binary codes unique
to each computer

Programming Languages (continued)

Assembler Language
Second generation
Requires language translator programs
called assemblers
Allows a computer to convert the
instructions into machine instructions
Frequently called symbolic language

Programming Languages (continued)

High-level Languages
Third generation
Uses instructions, called
statements, that use brief
statements or arithmetic
expressions
Uses translator programs called
compilers or interpreters
Syntax and semantics

Programming Languages (continued)

Fourth-generation Languages
(4GLs)
More nonprocedural and
conversational than prior languages
Natural languages
Ease of use gained at the expense
of some loss in flexibility

Programming Languages (continued)

Object-Oriented Languages
(OOP)
Ties data elements to the
procedures or actions that will be
performed on them into objects
Easier to use and more efficient
for programming GUIs

Programming Software

Helps programmers develop


computer programs
Two basic categories
Programming language translators
Programming tools

Programming Software (continued)

Language Translator Programs


Assembler
Translates symbolic instruction codes
into machine language instructions

Compiler
Translates high-level language
statements

Interpreter
Translates and executes each
statement in a program one at a time

Programming Software (continued)

Programming Tools
Programming editors and debuggers
Provides a computer-aided
programming environment
Code generators
Libraries of reusable objects & code

The End