Computer Software

Download Report

Transcript Computer Software

Chapter 4
Computer Software
McGraw-Hill/Irwin
Copyright © 2010 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
Case 1: Software-as-a-Service (SaaS)

General Electric
– 500,000 suppliers in 100 countries, with
14 different languages
– Needed to coordinate contracts, compliance
initiatives, certifications, and interactions
– Was using homegrown Global Supplier Library
– Switched to a Software-as-a-Service vendor
– Better capabilities for same cost
– Suppliers can manage their own data
4-4
Case 1: Software-as-a-Service (SaaS)

H.B. Fuller Company
– Current payroll system was expensive and
going nowhere
– Gave up control to avoid the headaches of
trying to fix the existing software
– Configuration rather than customization
allows company to maintain its “lean core”
– Standardization leads to more agility
– IT must be involved in the process
– Must have a way to backup necessary data,
in case SaaS provider goes out of business
4-5
Case Study Questions

What factors should companies take into
consideration when making the decision
between developing their own applications,
purchasing them from a vendor, or taking the
SaaS route?
– Make a list of factors and discuss their
importance to this decision
4-6
Case Study Questions

What risks did GE take on when they
contracted with a small, less experienced
vendor?
– What contingencies could have been put in
place to prevent any problems from arising?

What should companies do if no “configuration
option” perfectly fits with their needs?
– Should they attempt to customize, or select
the least-worst alternative?
– When would they do each?
4-7
Types of Application & System Software
4-8
Application Software
General
Purpose
Custom
Application Software
Commercial
Off-the-Shelf
(COTS)
Open-Source
4-9
Business Application Software
Function-Specific Application Software
Thousands of these packages support
specific end-user applications
Customer Relationship Management
Enterprise Resource Planning
Supply Chain Management
Web-enabled electronic commerce
4-10
Software Suites, Integrated Packages
Most widely used productivity packages
are bundled as software suites
Advantages
Disadvantages
1. Cost less than buying
individual packages
1. All features not used
2. All have similar GUI
2. Takes a lot of disk
space (bloatware)
3. Programs work well
together
4-11
Components of Top Software Suites
4-12
Integrated Packages
Integrated packages combine the functions
of several programs into one package
E.g., Microsoft Works, AppleWork
Advantages
1. Many functions for
lower price
Disadvantages
1. Limited functionality
2. Uses less disk space
3. Frequently preinstalled on PCs
4-13
Web Browsers
Software that supports navigation through
point-and-click, hyper-linked Web resources
Becoming the universal platform
from which end users launch…
Information searches
E-mail
Multimedia file transfer
Discussion groups
Other Internet-based applications
4-14
Search Engines
Browsers are used to gain access
to Internet search engines
Google, Ask Jeeves, Look Smart, Lycos,
Overture, Yahoo!
Using search engines to find information has
become an indispensable part of Internet,
intranet, and extranet applications
4-15
E-mail, Instant Messaging, Weblogs

E-mail
– Sending and receiving messages and
attachments via the Internet, intranet, or
extranet

Instant messaging (IM)
– Receive electronic messages instantly

Weblog or blog
– A personal website in dated log format
– Updated with new information about a subject
or range of subjects
4-16
Word Processing/Desktop Publishing

Word Processing
– Create, edit, revise, and print documents
– E.g., Microsoft Word, Lotus WordPro, Corel
WordPerfect

Desktop Publishing
– Produce printed materials that look
professionally published
– E.g., Adobe PageMaker, Microsoft Publisher,
QuarkXPress
4-17
Electronic Spreadsheets
Used by virtually every business for
analysis, planning, modeling
Worksheet of rows and columns
Can be stored on local computers or a network
Requires designing format and developing
the relationships (formulas)
Most help you develop charts and graph
displays of spreadsheet results
Supports what-if questions
4-18
Presentation Graphics
Microsoft PowerPoint,
Lotus Freelance,
Corel Presentations
Convert numeric
data into graphics
Common
presentation
graphics
packages…
Top packages can
tailor files for
transfer in HTML
format to websites
Are used to create
multimedia
presentations of
graphics, photos,
animation, video
4-19
Personal Information Managers
Software for end user productivity and collaboration
Stores information about clients
Manages schedules, appointments, tasks
Most have ability to access the Web and e-mail
Some support team collaboration by sharing
information with other PIM users
e.g., Lotus Organizer, Microsoft Outlook
4-20
Groupware

Software that helps workgroups collaborate
on group assignments
– E-mail, discussion groups, databases, audio,
and video conferencing
– E.g., Lotus Notes, Novell GroupWise,
Microsoft Exchange
– Windows SharePoint Services and
WebSphere both allow teams to create
websites for information sharing and
document collaboration
4-21
Software Alternatives

Outsource software development and
maintenance

Application service providers (ASPs)
– Companies that own, operate, and maintain
application software and computer system
resources
– Use the application for a fee over the Internet
– Pay-as-you-go
– Use expected to accelerate
4-22
Cloud Computing

Software and virtualized hardware resources
are provided as a service over the Internet
– No technology knowledge, expertise, or control
needed
– Often confused with grid computing
– Pay-for-use avoids capital expenditures
– Sharing “perishable and intangible” computer
power improves utilization rates
– Capacity can be scaled upward almost instantly
– Immediate access to broad range of applications
– Contracts can generally be terminated at any time
4-23
Software Licensing
COTS and ASP software is licensed, which involves…
Intellectual property rights
Copyright and trademark
Trade secrets
Traditional contract law, including Uniform
Commercial Code (UCC)
You don’t buy software…
You buy a license to use the software
Licensed to protect vendor’s property rights
4-24
Case 2: Power Distribution & Law Enforcement
XML is becoming increasingly popular as an
open standard for sharing data across organizations
A power
consortium is
implementing an
XML-based
settlements
system that drives
costs out of power
distribution
In Ohio, almost
1,000 police
departments now
have access to
digital records kept
by neighboring law
enforcement
agencies
The Ohio Law
Enforcement
Gateway Search
Engine is an Internetbased tool that can
securely comb
through numerous
crime databases with
a single log-in and
query
4-25
Case Study Questions

What is the business value of XML to the organizations
described in the case?
– How are they able to achieve such large returns on
investment?

What are other ways in which XML could be used by
organizations to create value and share data?
– Look for examples involving for-profit organizations to
gain a more complete perspective on the issue

What seem to be important elements in the success
of projects relying on extensive use of XML across
organizations, and why?
– Research metadata to inform your answer
4-26
Categories of Group Software
System
Management
Programs
System
Development
Programs
Manages hardware, software, network,
and data resources of computer systems
Operating systems, network
management programs, database
management systems, system utilities
Helps users develop IS programs and
procedures, and then prepare them
for processing
Includes language translators and
editors, CASE, and programming tools
4-27
Interface Between End Users & Computer
4-28
Operating Systems
Integrated system of programs that…
Manages the
operations of
the CPU
Controls the
input/out,
storage
resources, and
activities of the
computer
system
Provides
support
services as the
computer
executes
application
programs
The operating system must be loaded and activated
before other tasks can be accomplished
4-29
Operating System Basic Functions
•Command-driven
•Menu-driven
•Graphical User
Interfaces (GUI)
4-30
Popular Operating Systems

Windows
– GUI, multitasking, networking, multimedia
– Microsoft’s operating system
– NT, XP, 2003
– Different versions manage servers


Standard, enterprise, data center, Web
Unix
– Multitasking, multi-user, network-managing
– Portable - can run on mainframes, midrange,
and PCs
4-31
Popular Operating Systems

Linux
– Low-cost, powerful, reliable, Unix-like
operating system
– Open-source

MAC OS X
– Apple operating system for the iMac
– GUI
– Multitasking
– Multimedia
4-32
Open Source Software

The basic idea
– When programmers can read, redistribute, and
modify source code, the software evolves
– This can happen at astonishing speed
– Produces better software than the traditional
commercial (closed) model
– The proprietary approach to software
development has hidden costs that often
outweigh its benefits
4-33
Open Source Software

Open source software is not…
– Shareware
– Public domain software
– Freeware
– A viewer or reader made freely available
without source code

OSS…
– Is copyrighted & distributed with license terms
– Sometimes carries a fee for packaging,
distribution, or support
4-34
Open-Source Licensing Characteristics

The License
– The program must include the source code and allow
distribution in source code as well as compiled form
– Shall not restrict any party from selling or giving away
the software as a component of an aggregate software
distribution containing programs from several sources
– Must allow modifications and derived works, and must
allow them to be distributed under the same terms as
the license of the original software
4-35
Open-Source Licensing Characteristics

The License (continued)
– May restrict source code from being distributed in
modified form only if the license allows the distribution
of patch files with the source code for the purpose of
modifying the program at build time
– Must not discriminate against any person or any
group of persons
– Must not restrict anyone from making use of the
program in a specific field of endeavor
4-36
Open-Source Licensing Characteristics

The License (continued)
– The rights attached to the program must
apply to all to whom the program is
redistributed, without the need for execution
of an additional license
– Must not be specific to a product
– Must not contaminate other software by
placing restrictions on any software
distributed along with the licensed software
4-37
Examples of Open Source Software

Open Office
– Can be used for any purpose: domestic, commercial,
educational, or public administration

Mac OS X
– Based on a form of UNIX
– Advanced GUI
– Supports multi-tasking and multimedia
– Integrated Web browser, e-mail, instant messaging,
search engine, digital media player, and more
– Includes software development tools
4-38
Application Virtualization

An umbrella term for software technologies that
improve portability, manageability, and compatibility
of applications
– Works by insulating applications from the underlying
operating system

Benefits
– No need for multiple platforms for multiple
applications
– Energy savings from not having servers running
at low capacity
4-39
Other System Management Programs
4-40
Other System Software

Utilities
– Miscellaneous housekeeping functions
– Example: Norton utilities includes data backup,
virus protection, data compression, etc.

Performance Monitors
– Programs that monitor and adjust computer
system to keep them running efficiently

Security Monitors
– Monitor and control use of computer systems
to prevent unauthorized use of resources
4-41
Application Servers

Provide an interface between an operating
system and the application programs of users

Middleware
– Helps diverse software applications exchange
data and work together more efficiently
4-42
Programming Languages
4-43
Machine Languages
First Generation Languages
The most basic of programming languages
Strings of binary codes unique to each computer
Requires specific knowledge of the
internal operations of the CPU being used
Must specify the storage location for every
instruction and item of data used
Difficult to work with, and error prone
4-44
Assembler Languages
Second Generation Languages
Developed to reduce difficulties
in writing machine language programs
Uses assemblers to convert the programs
into machine instructions
Symbols used to represent operation codes
and storage locations
Alphabetic abbreviations, call mnemonics, and
other symbols represent operation codes,
storage locations, and data elements
4-45
High-Level Languages
Third Generation Languages
Uses brief statements or arithmetic expressions
Statements translated into machine language
by compilers or interpreters
Less efficient than assembler language and
requires greater translation time
Machine dependent
Examples: BASIC, COBOL, FORTRAN
4-46
Fourth-Generation Languages
Fourth-Generation Languages
Variety of programming languages that are
nonprocedural and conversational
Programmers specify the result wanted;
the computer determines the sequence of
instructions that accomplish the result
Simplifies the programming process
Natural language; very close to English
Sometimes called fifth-generation (5GLs)
4-47
Object-Oriented Languages
4-48
Object-Oriented Languages
Most widely used software
development languages
Easier to use and more efficient for graphicsoriented user interfaces
Reusable: can use an object from one
application in another application
Examples: Visual Basic, C++, Java
Most object-oriented languages provide a GUI
that supports visual programming
4-49
Web Languages
HTML
A page description language that creates
hypertext documents for the Web
XML
Describes Web page content by
applying identifying tags or contextual
labels to the data
Java
Object-oriented programming language that
is simple, secure, and platform independent
Java applets can be executed
on any computer
4-50
J2EE versus .Net
4-51
How Web Services Work
4-52
Language Translator Programs
Translate instructions written in programming
languages into machine language
Assembler
Compiler
Interpreter
Translates
assembler
language
statement
Translates highlevel language
statements
A compiler that
translates and
executes each
statement in
a program,
one at a time
4-53
Programming Tools

Help programmers identify and minimize
errors while they are programming
– Graphical programming interfaces
– Programming editors
– Debuggers

CASE Tools
– A combination of many programming tools into
a single application with a common interface
– Used in different stages of the systems
development process
4-54
Case 1: Wolf Peak International

Wolf Peak International
– A small company which designs and manufactures
eyewear for safety, sports, driving, and fashion
– Outgrew the capabilities of QuickBooks
– Spent a lot of money to implement a new accounting
system
– Nobody knew how to extract financial or operational
data used to make critical business decisions
– Successfully implemented SAP Business One
software, replacing the failed accounting system
4-55
Case Study Questions

What problems occurred when Wolf Peak upgraded
from QuickBooks to a new accounting software
package?
– How could these problems have been avoided?

Why was SAP’s Business One a better choice for
Wolf Peak’s management than the new accounting
software?

Should most SMEs use an integrated business
software suite like SAP Business One, instead of
specialized accounting and other business software
packages?
4-56