computer software chapter 4 copyright © 2010 by the mcgraw-hill companies, inc. all rights...
TRANSCRIPT
Computer Software
Chapter 4
Copyright © 2010 by the McGraw-Hill Companies, Inc. All rights reserved.McGraw-Hill/Irwin
4-2
Learning Objectives
Describe several important trends occurringin 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-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
4-5
Application Software
Custom
CommercialOff-the-Shelf
(COTS)
GeneralPurpose
Open-Source
Application Software
4-6
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
4-7
Software Suites, Integrated Packages
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)
4-9
Integrated Packages
Integrated packages combine the functionsof 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
4-10
Web Browsers
Software that supports navigation through point-and-click, hyper-linked Web resources
Becoming the universal platformfrom which end users launch…
Information searches
Multimedia file transfer
Discussion groups
Other Internet-based applications
4-11
Search Engines
Google, Ask Jeeves, Look Smart, Lycos, Overture, Yahoo!
Browsers are used to gain accessto Internet search engines
Using search engines to find information has become an indispensable part of Internet,
intranet, and extranet applications
4-12
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-13
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-14
Electronic Spreadsheets
Used by virtually every business foranalysis, planning, modeling
Worksheet of rows and columns
Can be stored on local computers or a network
Requires designing format and developingthe relationships (formulas)
Most help you develop charts and graphdisplays of spreadsheet results
Supports what-if questions
4-15
Presentation Graphics
Microsoft PowerPoint, Lotus Freelance,
Corel Presentations
Are used to create multimedia
presentations of graphics, photos, animation, video
Top packages can tailor files for
transfer in HTML format to websites
Convert numeric data into graphics
Commonpresentation
graphicspackages…
4-16
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
4-17
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-18
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-19
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-20
Software Licensing
Trade secrets
COTS and ASP software is licensed, which involves…
You buy a license to use the software
Licensed to protect vendor’s property rights
You don’t buy software…
Traditional contract law, including Uniform Commercial Code (UCC)
Copyright and trademark
Intellectual property rights
4-21
Case 2: Power Distribution & Law Enforcement
XML is becoming increasingly popular as anopen 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 Internet-based tool that can
securely comb through numerous
crime databases with a single log-in and
query
4-22
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-23
Categories of Group Software
SystemManagement
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-25
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 activatedbefore other tasks can be accomplished
4-27
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-28
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-29
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-30
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-31
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-32
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-33
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-34
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-35
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-37
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-38
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-40
Machine Languages
First Generation Languages
The most basic of programming languages
Strings of binary codes unique to each computer
Requires specific knowledge of theinternal operations of the CPU being used
Must specify the storage location for everyinstruction and item of data used
Difficult to work with, and error prone
4-41
Assembler Languages
Second Generation Languages
Developed to reduce difficultiesin writing machine language programs
Uses assemblers to convert the programsinto machine instructions
Symbols used to represent operation codesand storage locations
Alphabetic abbreviations, call mnemonics, and other symbols represent operation codes,
storage locations, and data elements
4-42
High-Level Languages
Third Generation Languages
Uses brief statements or arithmetic expressions
Statements translated into machine languageby compilers or interpreters
Less efficient than assembler language andrequires greater translation time
Machine dependent
Examples: BASIC, COBOL, FORTRAN
4-43
Fourth-Generation Languages
Fourth-Generation Languages
Variety of programming languages that arenonprocedural 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-45
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
4-46
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 executedon any computer
4-49
Language Translator Programs
Translate instructions written in programming languages into machine language
AssemblerAssembler
Translates assembler language statement
CompilerCompiler
Translates high-level language
statements
InterpreterInterpreter
A compiler that translates and executes each statement ina program,
one at a time
4-50
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