You are on page 1of 31

Introduction to Information Technology

Chapter 4:
Computer Software
Chapter Preview

 In this chapter, we will study:


Systems Software
Application Software
How software applications are developed
How software has evolved and where it’s
headed
Software for the enterprise
The Software Crisis
Computer System  New software applications
cannot be developed fast
enough to:
Hardware Software  Keep up with dynamic
business environment
 Keep pace with rapid
hardware advances
 Lag in software
development limits IS
capabilities
The Software Crisis (continued)
 In addition to new application development,
existing software must also be maintained (80% IT
personnel effort towards maintenance).
 Increasing complexity leads to the increased
potential for “bugs.”
 Testing and “debugging” software is expensive
and time-consuming.
Software Fundamentals
 Some basic terms…
Computer programs - sequences of instructions for
the computer
Stored program concept – instructions written in
programs are stored and executed by CPU when
needed
Programming - process of writing (or coding)
programs
Programmers - individuals who perform
programming
Software Fundamentals (continued)
Computer Software  Systems Software
 Instructions that
Systems Application manage the hardware
Software Software resources
Makes the Does  Application Software
computer something
function interesting
 Instructions that
perform specific user
tasks
System Software
 System software is software that:
Controls and supports the computer system’s
activities
Supports application software by directing the
computer’s basic functions
Facilitates program development, testing, and
debugging
Is independent of any specific type of
application
Systems Software (continued)
Systems Software  System Control
Programs
 Control use of all
System Systems system resources
Control Support (hardware, software,
Programs Programs
data); operating system
 System Support
Programs
 Specialized support
capabilities
System Control Programs

 Operating System - main system control


program
supervises the overall operation of the computer
allocates CPU time and main memory to
programs running on the computer
provides an interface between the user and the
hardware
Operating System Services
 Process management – manage program(s) running on
processor
 Multitasking or Multiprogramming - managing two or more
tasks, or programs, running on the computer system at the same
time
 Multithreading – type of multitasking; run two or more tasks
from the same application simultaneously
 Timesharing - many users share same CPU, each using a
different input/output terminal
 Multiprocessing – simultaneous processing with multiple CPUs
Operating System Services (continued)
 Virtual memory - simulates more main memory than
actually exists in the computer system
 File management and security - managing the
arrangement of, and access to, files held in secondary
storage
 Fault tolerance - system can produce correct results and
continue to operate even in the presence of faults or errors
 User interface - allows users to have direct control of
visible objects (icons) and actions that replace complex
command syntax
Types of Operating Systems

 Major Desktop Operating Systems


Microsoft Products: MS-DOS
Windows 95 Windows 98 Windows ME
Windows NT Windows 2000 Windows XP

Other Products: UNIX Linux


Java Operating System (JavaOS)
IBM O/S 2
Macintosh Operating System
Types of Operating Systems (continued)

 Departmental Server Operating Systems


Support hundreds of concurrent users
UNIX, Linux, Windows 2000, Windows XP,
Novell NetWare
 Enterprise Operating Systems
Support thousands of concurrent users; millions
of transactions per day
IBM’s OS/390, IBM’s VM (Virtual Machine),
IBM’s VSE (Virtual Storage Extended), and
IBM’s OS/400
System Support Programs
 Support the operations, management, and
users of a computer system
 Examples:
System Utilities
• Perform common tasks: sorting records, checking
disk integrity, creating directories and
subdirectories, restoring accidentally erased files,
locating stored files, managing memory usage, and
redirecting output.
System Support Programs (continued)
 Examples (continued)
Performance monitors
• monitor job processing
• produce statistical reports on system resource usage
Security monitors
• monitor the use of a computer system to protect it
and its resources from unauthorized use, fraud, or
destruction
Application Software
 Programs performing specific information
processing activities and user functionality
 Types of Application Software
 Proprietary application software
• Addresses a specific or unique business need for a company
 Off-the-shelf application software
• Vendor developed programs sold to many organizations
• May be standard package or may be customizable
Application Software (continued)
Personal Application Software - off-the-shelf
application programs supporting general types of processing

 Spreadsheets  Multimedia
 Data management  Communication
 Word processing  Speech-recognition
 Desktop publishing
 Groupware
 Graphics
 Presentation; Analysis;
CAD
Software Issues
 Software Evaluation and Selection
Selection factors
• Size and location of the user base
• System administration tools
• Initial and subsequent costs
• Current and future system capabilities
• Existing computing environment
• In-house technical skills
Software Issues (continued)
 Software Licensing
 Copyright - exclusive legal right to reproduce, publish,
and sell the software
 Licenses - permission granted under the law to engage
in an activity otherwise unlawful
 Software Upgrades
 May or may not offer valuable enhancements
 Risk that revised software may contain bugs
 Upgrading in a large organization is a major
undertaking, so must assess the merits of the new
release
Software Issues (continued)
 Open Systems
A model of computing products that work
together
Empower designers to choose the best computer
hardware, operating system, and application
software without compatibility concerns
 Open Source Software
Software code offered freely to developers
How are Programs Understood by the Computer?
(The Language Translation Process)

Program written in Translator program Program written in


programming  Assembler machine language
language (source  Compiler (object code)
code)
 Interpreter

Processed
By CPU
Programming Languages
 Machine Language (first generation of programming languages)
 The computer’s ‘native language’
 Composed of binary digits (0s, 1s)
 The only language that computers understand
 Assembly Language (second generation of programming
languages)
 One-to-one correspondence to machine language
 Somewhat more user-friendly than machine language
(mnemonic rather than binary digits)
 Assembler – program that translates an assembly
language program into machine language
Programming Languages (continued …)
 Procedural Languages (third generation languages)
 One instruction translates into many machine language
instructions
 Programs describe the computer’s processing step-by-
step
 Closer to natural language; uses common words rather
than abbreviated mnemonics
 Examples: Cobol, C, Fortran, QuickBasic
 Compiler - translates the entire program at once
 Interpreter - translates and executes one source program
statement at a time
Programming Languages (continued)
 Nonprocedural Language (fourth generation languages)
 Allows the user to specify the desired result without
having to specify the detailed procedures needed for
achieving the result
 Example – data base query language - SQL
 Can be used by non technical users
 Natural Language Programming Languages (fifth
generation (intelligent) languages)
 Translates natural languages into a structured, machine-
readable form
 Are extremely complex and experimental
Current Programming Languages
 Visual Programming Languages
Used within a graphical environment
Example : Visual Basic and Visual C++
Popular to non technical users
 Hypertext Markup Language (HTML)
standard language used in World Wide Web
contains text, images, and other types of
information such as data files, audio, video, and
executable computer programs
Current Programming Languages
 Extensible Markup Language (XML)
Improved on web document functionality
 Componentware
Software components that may be assembled by
developer as needed
“Plug and Play” software development
Current Programming Languages (continued)
 Virtual Reality Modeling Language (VRML)
 a file format for describing three-dimensional interactive
worlds and objects
 can be used with the World Wide Web
 Object-Oriented Programming Languages (OOP)
 based on objects – packaging data and the instructions
about what to do with that data together
 Examples: Java, C++
 Unified Modeling Language (UML)- modeling tool for
object-oriented systems
Enterprise Software
 Problem faced in many organizations…
 Competitive pressures require change in organizational procedures,
however
 all the different types of software and hardware in use cause so
much complexity that change is difficult
 Solution options
 Software packages with integrated functional modules (i.e., human
resource, operations, marketing, finance, accounting, etc.)
 Use of middleware to link disparate applications
 Enterprise software that manages all organizational operations
Chapter Summary
 Software can be broadly categorized as Systems software
and Applications software
 Systems software provides an interface between the
hardware and the application software
 Application software performs specific business functions
 Programming languages provide the means for humans to
give computers instructions
 Organizations seek enterprise wide software solutions to
provide integrated organizational systems
Copyright © 2003 John Wiley & Sons, Inc. All rights reserved.
Reproduction or translation of this work beyond that permitted in Section 117
of the 1976 United Stated Copyright Act without the express written
permission of the copyright owner is unlawful. Request for further
information should be addressed to the Permissions Department, John
Wiley & Sons, Inc. The purchaser may make back-up copies for his/her own
use only and not for distribution or resale. The Publisher assumes no
responsibility for errors, omissions, or damages, caused by the use of these
programs or from the use of the information herein.

You might also like