Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-1
Introduction to Information Technology
2nd EditionTurban, Rainer & Potter
© 2003 John Wiley & Sons, Inc.
Chapter 4:Computer Software
Prepared by:Roberta M. Roth, Ph.D.
University of Northern Iowa
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-2
Chapter Preview
In this chapter, we will study:Systems SoftwareApplication SoftwareHow software applications are
developedHow software has evolved and where
it’s headedSoftware for the enterprise
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-3
The Software Crisis
New software applications cannot be developed fast enough to: Keep up with dynamic
business environment Keep pace with rapid
hardware advances
Lag in software development limits IS capabilities
Computer System
Hardware Software
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-4
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.
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-5
Software FundamentalsSome 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
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-6
Software Fundamentals (continued)
Systems Software Instructions that
manage the hardware resources
Application Software Instructions that
perform specific user tasks
Computer Software
SystemsSoftware
ApplicationSoftware
Makes the computer function
Does somethin
g interestin
g
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-7
System Software
System software is software that:Controls and supports the computer
system’s activitiesSupports application software by
directing the computer’s basic functionsFacilitates program development,
testing, and debuggingIs independent of any specific type of
application
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-8
Systems Software (continued)
System Control ProgramsControl use of all
system resources (hardware, software, data); operating system
System Support ProgramsSpecialized
support capabilities
Systems Software
SystemControl
Programs
SystemsSupport
Programs
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-9
System Control Programs
Operating System - main system control programsupervises the overall operation of the
computerallocates CPU time and main memory
to programs running on the computerprovides an interface between the
user and the hardware
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-10
Operating System ServicesProcess management – manage program(s)
running on processorMultitasking 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
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-11
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
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-12
Major Desktop Operating Systems
Types of Operating Systems
MS-DOS
Windows 95 Windows 98Windows NTWindows 2000
Microsoft Products:
Windows XP
Windows ME
Macintosh Operating System
UNIX
Java Operating System (JavaOS)
Other Products: Linux
IBM O/S 2
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-13
Departmental Server Operating SystemsSupport hundreds of concurrent usersUNIX, Linux, Windows 2000, Windows XP,
Novell NetWareEnterprise 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
Types of Operating Systems (continued)
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-14
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
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-15
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
System Support Programs (continued)
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-16
Application Software
Programs performing specific information processing activities and user functionality
Types of Application SoftwareProprietary 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
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-17
Application Software (continued)
SpreadsheetsData managementWord processingDesktop publishingGraphics
Presentation; Analysis; CAD
MultimediaCommunicationSpeech-
recognitionGroupware
Personal Application Software - off-the-shelf application programs supporting general types of processing
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-18
Software Issues
Software Evaluation and SelectionSelection 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
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-19
Software LicensingCopyright - exclusive legal right to
reproduce, publish, and sell the softwareLicenses - permission granted under the law
to engage in an activity otherwise unlawfulSoftware Upgrades
May or may not offer valuable enhancements
Risk that revised software may contain bugsUpgrading in a large organization is a major
undertaking, so must assess the merits of the new release
Software Issues (continued)
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-20
Open SystemsA model of computing products that work
togetherEmpower designers to choose the best
computer hardware, operating system, and application software without compatibility concerns
Open Source SoftwareSoftware code offered freely to
developers
Software Issues (continued)
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-21
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-22
How are Programs Understood by the Computer?
(The Language Translation Process)
Program written in programming language (source code)
Translator program Assembl
er Compiler Interpret
er
Program written in machine language (object code)
Processed
By CPU
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-23
Programming LanguagesMachine 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 languageSomewhat more user-friendly than machine
language (mnemonic rather than binary digits)Assembler – program that translates an assembly
language program into machine language
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-24
Procedural Languages (third generation languages)One instruction translates into many machine
language instructionsPrograms describe the computer’s processing
step-by-step Closer to natural language; uses common
words rather than abbreviated mnemonicsExamples: Cobol, C, Fortran, QuickBasicCompiler - translates the entire program at
once Interpreter - translates and executes one
source program statement at a time
Programming Languages (continued …)
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-25
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 - SQLCan be used by non technical users
Natural Language Programming Languages (fifth generation (intelligent) languages)Translates natural languages into a
structured, machine-readable formAre extremely complex and experimental
Programming Languages (continued)
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-26
Visual Programming LanguagesUsed within a graphical environmentExample : Visual Basic and Visual C++Popular to non technical users
Hypertext Markup Language (HTML)standard language used in World Wide
Webcontains text, images, and other types of
information such as data files, audio, video, and executable computer programs
Current Programming Languages
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-27
Extensible Markup Language (XML)Improved on web document
functionalityComponentware
Software components that may be assembled by developer as needed
“Plug and Play” software development
Current Programming Languages
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-28
Virtual Reality Modeling Language (VRML)a file format for describing three-dimensional
interactive worlds and objectscan 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
Current Programming Languages (continued)
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-29
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
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-30
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
Introduction to Information Technology, 2nd EditionTurban, Rainer & Potter© 2003 John Wiley & Sons
4-31
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.