2. 4-2
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
3. 4-3
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
5. 4-5
General Purpose
– Programs that perform common information
processing jobs for end users
– E.g., word processing, spreadsheet
– Also call productivity packages
Application-specific
– Programs that support specific applications of
end users
– E.g., electronic commerce, customer
relationship management, etc.
Application Software (Functionality-based)
6. 4-6
Commercial Off-the-Shelf (COTS)
– Many copies sold
– Minimal changes beyond scheduled upgrades
– Purchasers have no control over specifications,
schedule, or evolution, and no access to source code or
internal documentation
– Product vendor retains the intellectual property rights of
the software
Custom
– Software applications developed within an
organization for use by that organization
Application Software (Development-based)
7. 4-7
Application Software (Development-based)
Open-source Software
– Developers collaborate on the development of an
application using programming standards which allow
anyone to contribute to the software
– As each developer completes a project, the application
code becomes available and free to anyone who wants it
8. 4-8
Business Application Software
Thousands of these packages support
specific end-user applications
Customer Relationship Management
Enterprise Resource Planning
Supply Chain Management
Function-Specific Application Software
Web-enabled electronic commerce
9. 4-9
Software Suites
Most widely used productivity packages
are bundled as software suites
Advantages
1. Cost less than buying
individual packages
2. All have similar GUI
3. Programs work well
together
Disadvantages
1. All features not used
2. Takes a lot of disk
space (bloatware)
11. 4-11
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
2. Uses less disk space
3. Frequently pre-
installed on PCs
Disadvantages
1. Limited functionality
12. 4-12
Web Browsers (the universal client)
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
13. 4-13
Search Engines
Google, Ask Jeeves, Look Smart, Lycos,
Overture, Yahoo!
Browsers are used to gain access
to Internet search engines
Using search engines to find information has
become an indispensable part of Internet,
intranet, and extranet applications
14. 4-14
E-mail, Instant Messaging, Weblogs
E-mail
– Sending and receiving messages and
attachments via the Internet, intranet, or
extranet e.g. Microsoft Hotmail
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
16. 4-16
Word Processing/Desktop Publishing
Word Processing
– Create, edit, revise, and print attractive documents
– Convert documents to HTML
– E.g., Microsoft Word, Lotus WordPro, Corel
WordPerfect
Desktop Publishing
– Produce printed materials that look professionally
published
– Brochures, manuals and books
– E.g., Adobe PageMaker, Microsoft Publisher,
QuarkXPress
17. 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
18. 4-18
Presentation Graphics
Microsoft
PowerPoint, Lotus
Freelance, Corel
Presentations
Top packages can
tailor files for
transfer in HTML
format to websites
Convert numeric
data into graphics
Common
presentation
graphics
packages…
Are used to create
multimedia
presentations of
graphics, photos,
animation, video
Helps emphasis
things
19. 4-19
Personal Information Managers
Manages schedules, appointments, tasks
Most have ability to access the Web and e-mail
Stores information about clients
Some support team collaboration by sharing
information with other PIM users
e.g., Lotus Organizer, Microsoft Outlook
Software for end user productivity and collaboration
21. 4-21
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
– Rely on the internet, intranet and extranet to make
collaboration possible.
– Collaborative capabilities are being added to other
software e.g. Excel
– Windows SharePoint Services and WebSphere both
allow teams to create websites for information
sharing and document collaboration
22. 4-22
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
– Advantage1: Pay-as-you-go, low cost of initial
investment, less time.
– Advantage2: Reduce IT infrastructure e.g. IT
personnel
– Use expected to accelerate
24. 4-24
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
29. 4-29
Categories of System 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
31. 4-31
Operating Systems
Integrated system of programs that…
Provides
support
services as the
computer
executes
application
programs
Manages the
operations of
the CPU
Controls the
input/out,
storage
resources, and
activities of the
computer
system
The operating system must be loaded and activated
before other tasks can be accomplished
32. 4-32
Operating Systems
The primary purpose of an Operating System:
1- Maximize the productivity of a computer
system
2- Minimizes the human intervention during
processing
34. 4-34
Operating System Basic Functions
User Interface: Allow communicating with the computer
Resource Management
Part of the operating system that manages the hardware and
networking resources of a computer system
– Includes CPU, memory, secondary storage devices,
telecommunications, and input/output peripherals
Common functions
– Keeping track of where data and programs are stored
– Subdividing memory; providing virtual memory capability
File Management
Part of the operating system that controls the creation, deletion, and
access of files and programs
– Keeps track of physical location of files on storage devices
– Maintains directories of information about the location and
characteristics of stored files
35. 4-35
Operating System Basic Functions
Task Management
Part of the operating system that manages the
accomplishment of end user computing tasks
– Controls which task gets access to the CPU,
and for how long
– Can interrupt the CPU at any time to substitute
a higher priority task
– Supports preemptive and cooperative multi-tasking and
multi-processing
1- Multitasking:
(multiprogramming or time-sharing): using only one CPU
2 Types:
A) Preemptive
B) Cooperative
2- Multiprocessing:
• using more than one CPU
36. 4-36
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
38. 4-38
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 (commercial) approach to
software development has hidden costs that
often outweigh its benefits
39. 4-39
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
40. 4-40
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
41. 4-41
Application Virtualization
A 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
43. 4-43
Other System Management 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
44. 4-44
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
– E.g. web servers
46. 4-46
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
47. 4-47
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, called mnemonics, and
other symbols represent operation codes,
storage locations, and data elements
48. 4-48
High-Level Languages
Third Generation Languages
Uses brief statements or arithmetic expressions
Statements translated into machine language
by compilers or interpreters
Easier to learn and program, Less efficient than assembler
language and requires greater translation time
Machine independent
Examples: BASIC, COBOL, FORTRAN
49. 4-49
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)
52. 4-52
Object-Oriented Languages
Combines data elements and the procedures
that will be performed upon
them into objects
– E.g., data about a bank account and the
procedures performed
on it, such as interest calculations
53. 4-53
Object-Oriented Languages
Easier to use and more efficient for graphics-
oriented user interfaces
Easier to use and more efficient for graphics-
oriented user interfaces
Most widely used software
development languages
Most widely used software
development languages
Reusable: can use an object from one
application in another application
Reusable: can use an object from one
application in another application
Examples: Visual Basic, C++, JavaExamples: Visual Basic, C++, Java
Most object-oriented languages provide a GUI
that supports visual programming
Most object-oriented languages provide a GUI
that supports visual programming
54. 4-54
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
58. 4-58
How Web Services Work
Web services are software components that
are:
– Based on framework of Web and object-
oriented standards and technology
– Used to link the applications of different users
and computing platforms via the Web
59. 4-59
Language Translator Programs
Translate instructions written in programming
languages into machine language
AssemblerAssembler
Translates
assembler
language
statement
CompilerCompiler
Translates high-
level language
statements
InterpreterInterpreter
Translates and
executes each
statement in
a program,
one at a time
60. 4-60
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