computer software chapter 4 copyright © 2010 by the mcgraw-hill companies, inc. all rights...

50
Computer Software Chapter 4 Copyright © 2010 by the McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin

Upload: stuart-carson

Post on 13-Dec-2015

214 views

Category:

Documents


1 download

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-4

Types of Application & System 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-8

Components of Top Software Suites

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

E-mail

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-24

Interface Between End Users & Computer

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-26

Operating System Basic Functions

•Command-driven•Menu-driven•Graphical User Interfaces (GUI)

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-36

Other System Management Programs

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-39

Programming Languages

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-44

Object-Oriented Languages

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-47

J2EE versus .Net

4-48

How Web Services Work

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