CH 04 Computer Software
CH 04 Computer Software
Computer Software
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved.
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.
4-2
Learning Objectives
Define and describe the functions of an
operating system.
Describe the main uses of computer
programming software, tools, and
languages.
Describe the issues associated with
open-source software.
4-3
Section 1
Application Software: End-user Applications
4-4
I. Introduction to Software
4-6
I. Introduction to Software
Custom Software – designed and created
specifically to do a particular job for one
company
4-7
I. Introduction to Software
4-8
II. Business Application Software
Available to support any part of business
4-9
II. Business Application Software
4-10
SAP Business Suite 7: Introducing Modular
Scenarios Cutting Across Organizational
Functions
4-11
III. Software Suites and Integrated
Packages
Software Suites – bundle together a variety of
general-purpose software applications
Advantages:
Lower cost than buying each package individually
All the programs use a common graphical user interface
(GUI)
The programs are designed to work together
Disadvantages:
Many features are never used
Suites take up a lot of disk space
4-12
III. Software Suites and Integrated
Packages
Integrated Packages – combine some but not
all of the functions of several programs; offer
advantages in a smaller package
Less powerful than software suites – leave out
some functions
4-13
IV & V. Web Browsers & E-Mail
4-14
VI. Word Processing and Desktop
Publishing
Word Processing – creation, revision, editing,
and printing of documents; spell checkers and
grammar checkers, thesaurus
4-15
VII & VIII. Spreadsheets and
Presentation Graphics
Spreadsheets – used for analysis, planning,
and modeling; calculations, graphics, what-if
scenarios
4-16
IX & X. Personal Information Managers
(PIM) and Groupware
Personal Information Managers (PIM) – help
end-users store, organize, and retrieve basic
personal and business information
4-17
XI. Software Alternatives
Application Service Providers – provide necessary
applications for a fee (rather than a firm developing or
purchasing the s/w)
4-18
McAfee Inc.: Security under a Software-
as-a-Service Model
4-19
Australian Maritime Safety Authority:
Cloud Computing? Nothing New
4-20
Section 2
System Software: Computer System
Management
4-21
I. System Software Overview
4-22
I. System Software Overview
4-23
II. Operating Systems – programs that run
the computer operations
Operating Systems Functions –
User Interface – how the user
communicates with the computer
Graphical User Interface (GUI)
Command-driven
Menu Driven
Resource Management – manages the
hardware and network resources
File Management – controls the creation,
deletion, and access of files of the data and
programs 4-24
II. Operating Systems – programs that run
the computer operations
Operating Systems Functions –
Task Management – manages which tasks
are performed and when
Multitasking (Multiprogramming or
Timesharing) – programs take turns using the
processor
Preemptive – each program gets a slice of time
Cooperative – programs use the processor when it is
not being used by another program
Virtual Machines- applications run
independently at the same time
4-25
II. Operating Systems – programs that run
the computer operations
Unix – a multitasking, multiuser,
portable (runs on different hardware
platforms) operating system
Linux – low-cost, reliable, powerful,
open-source UNIX-like operating system
Open-Source Software – source code is
available to users, can be modified by
users
4-26
II. Operating Systems – programs that run
the computer operations
OpenOffice.org 3 – an open-source office
suite, may be used entirely free without
any license fees
Mac OS X – the latest OS from Apple for
Macintosh computers
Application Virtualization – software
technologies that allow applications to
run on various platforms
4-27
Toronto’s Hospital for Sick Children:
Challenges in Making Virtualization Work
What is the biggest problem with
virtualization at “Sick Kids”?
What is another problem?
What does this tell you about many
vendors? Why would they do this?
What’s the problem with data
migration? Why is this a continuing
problem?
4-28
III. Other System Management Programs
4-29
IV. Programming Languages
Machine Languages – first generation language
– instructions written in binary (0’s and 1’s);
runs directly on the computer
Assembler Languages – second generation
language – uses symbols/mnemonics to
represent operational codes; converted into
binary by an Assembler
High-Level Languages – third generation
language – BASIC, COBOL, FORTRAN;
converted into binary by Compliers and
Interpreters; users tell the computer What
results they want and How to get there
4-30
IV. Programming Languages
Fourth-Generation Languages (4GL) – non-
procedural languages; users tell the computer
What results they want, but the computer
decides How to get there
Fifth Generation Languages (5GL) – natural
languages, very close to English,
conversational
Object-Oriented Languages (5GL) – combine
the data elements and the programs that act
on them into Objects; Reusability
4-31
Modern (and Automatic?) Code
Generation
4-32
V. Web and Internet Languages and Services
HTML (Hypertext Markup Language) – a page
description language (markup languages are
NOT programming languages)
4-33
Aptara Inc.: Revolutionizing the Publishing
Industry through XML
4-34
V. Web and Internet Languages and Services
Java and .NET
Java – a platform independent, object-oriented
programming language; very powerful
Applets – small Java programs that can be
executed by any computer running any OS
anywhere on the network
.NET – Microsoft’s collection of programming
support for Web services
4-36
Airbus: Flying on SAP and Web Services
4-37
VI. Programming Software
Language Translator Programs –
instructions must be translated into
binary to be executed by the computer
Assembler – translates symbolic
instructions written in assembly language
Compiler – translates high level language
statements; translates the entire program
(Source code) into binary (Object code) then
executes the entire binary program
4-38
VI. Programming Software
Interpreter – translates and executes one
line of the program at a time
Programming Tools – help programmers
identify and minimize errors as they
write the code
CASE Tools (Computer-Aided Software
Engineering) – automated software support
tools for developing systems
4-39