Chapter 4

44
Chapter 4 Chapter 4 Computer Software Computer Software

description

Chapter 4. Computer Software. Learning Objectives. Describe several important trends occurring in computer software. Give examples of major types of application and system software. Explain the purpose of several popular software packages for end user productivity and collaborative computing. - PowerPoint PPT Presentation

Transcript of Chapter 4

Page 1: Chapter 4

Chapter 4Chapter 4

Computer SoftwareComputer Software

Page 2: Chapter 4

Learning ObjectivesLearning Objectives

1.1. Describe several important trends occurring in Describe several important trends occurring in computer software.computer software.

2.2. Give examples of major types of application Give examples of major types of application and system software.and system software.

3.3. Explain the purpose of several popular Explain the purpose of several popular software packages for end user productivity software packages for end user productivity and collaborative computing.and collaborative computing.

4.4. Define and describe the functions of an Define and describe the functions of an operating system.operating system.

5.5. Describe the main uses of computer Describe the main uses of computer programming software, tools, and languages.programming software, tools, and languages.

Page 3: Chapter 4

SECTION 1SECTION 1

Application Software: End User Application Software: End User ApplicationsApplications

Page 4: Chapter 4

What is softwareWhat is software

Instructions and associated data, Instructions and associated data, stored in electronic format, that stored in electronic format, that direct the computer to accomplish direct the computer to accomplish a task.a task.

Software can be thought variable Software can be thought variable part of a computer.part of a computer.

Types of softwareTypes of software– Application SoftwareApplication Software– System SoftwareSystem Software

Page 5: Chapter 4

Software typesSoftware types

Application softwareApplication software– Performs information processing Performs information processing

tasks for end userstasks for end users

System softwareSystem software– Manages and supports operations of Manages and supports operations of

computer systems and networkscomputer systems and networks

Page 6: Chapter 4

Application softwareApplication software

General purposeGeneral purpose – Programs that perform common information Programs that perform common information

processing jobs for end usersprocessing jobs for end users– E.g., word processing, spreadsheet, etc.E.g., word processing, spreadsheet, etc.– Also called Also called productivity packagesproductivity packages

Application-specificApplication-specific– Programs that support specific applications Programs that support specific applications

of end usersof end users– E.g., electronic commerce, customer E.g., electronic commerce, customer

relationship management, etc.relationship management, etc.

Page 7: Chapter 4

Types of softwareTypes of software

Page 8: Chapter 4

Software Software ClassificationsClassifications Classify based on how it was developedClassify based on how it was developed Custom softwareCustom software

– Software applications that are developed within Software applications that are developed within an organization for use by that organizationan organization for use by that organization

COTS softwareCOTS software– Commercial Off-the-shelf (COTS)Commercial Off-the-shelf (COTS)– Software developed with the intention of selling Software developed with the intention of selling

the software in multiple copiesthe software in multiple copies Why would you choose Custom over COTS?Why would you choose Custom over COTS? Why would you choose COTS over Custom?Why would you choose COTS over Custom?

Page 9: Chapter 4

Software SuitesSoftware Suites

Page 10: Chapter 4

Software SuitesSoftware Suites

Software suitesSoftware suites integrate software integrate software packagespackages– Advantages:Advantages:

Cost less than buying individual packagesCost less than buying individual packages All have a similar GUIAll have a similar GUI Work together wellWork together well

– DisadvantagesDisadvantages Features not used by all usersFeatures not used by all users Take a lot of disk spaceTake a lot of disk space

Page 11: Chapter 4

Integrated PackagesIntegrated Packages

Integrated packagesIntegrated packages– Combine the functions of several Combine the functions of several

programs into one packageprograms into one package– E.g., Microsoft Works, AppleWorksE.g., Microsoft Works, AppleWorks– Advantages:Advantages:

Many functions for lower price and Many functions for lower price and smaller disk spacesmaller disk space

– DisadvantageDisadvantage Limited functionalityLimited functionality

Page 12: Chapter 4

Web BrowserWeb Browser

Software applications that support Software applications that support navigation through the point-and-click navigation through the point-and-click resources of the Webresources of the Web

Surfing the webSurfing the web Becoming a universal software Becoming a universal software

platform for Internet-based platform for Internet-based applicationsapplications

Microsoft Explorer, Netscape Microsoft Explorer, Netscape Navigator, Firefox, Opera or MozillaNavigator, Firefox, Opera or Mozilla

Page 13: Chapter 4

E-mail, Instant E-mail, Instant Messaging and WeblogsMessaging and Weblogs

E-mailE-mail– Software to communicate by sending and Software to communicate by sending and

receiving messages and attachments via the receiving messages and attachments via the Internet, intranet or extranetInternet, intranet or extranet

Instant messaging (IM)Instant messaging (IM)– Receive electronic messages instantlyReceive electronic messages instantly

WeblogWeblog or or blogblog– A personal website in dated log formatA personal website in dated log format– Updated with new information about a subject Updated with new information about a subject

or range of subjectsor range of subjects

Page 14: Chapter 4

Word processing and Word processing and Desktop publishingDesktop publishing

Word processingWord processing– Create, edit, revise and print documentsCreate, edit, revise and print documents– E.g., Microsoft Word, Lotus WordPro and E.g., Microsoft Word, Lotus WordPro and

Corel WordPerfectCorel WordPerfect Desktop PublishingDesktop Publishing

– Produce printed materials that look Produce printed materials that look professionally publishedprofessionally published

– E.g., Adobe PageMaker, Microsoft E.g., Adobe PageMaker, Microsoft Publisher and QuarkXPressPublisher and QuarkXPress

Page 15: Chapter 4

Electronic Spreadsheets Electronic Spreadsheets and Presentation and Presentation GraphicsGraphics Electronic SpreadsheetsElectronic Spreadsheets

– Worksheet of rows and columnsWorksheet of rows and columns– Used for calculations and chartsUsed for calculations and charts– E.g., Lotus 1-2-3, Microsoft Excel, Corel E.g., Lotus 1-2-3, Microsoft Excel, Corel

QuattroProQuattroPro Presentation GraphicsPresentation Graphics

– Convert numeric data into graphics displays Convert numeric data into graphics displays – Prepare multimedia presentations including Prepare multimedia presentations including

graphics, photos, animation, and video clipsgraphics, photos, animation, and video clips– E.g., Microsoft PowerPoint, Lotus Freelance, Corel E.g., Microsoft PowerPoint, Lotus Freelance, Corel

PresentationsPresentations

Page 16: Chapter 4

Personal Information Personal Information Manager and GroupwareManager and Groupware Personal Information Manager (PIM)Personal Information Manager (PIM)

– Software for end user productivity and collaborationSoftware for end user productivity and collaboration– Store information about clients, schedules, manage Store information about clients, schedules, manage

appointments, manage tasksappointments, manage tasks– E.g., Lotus Organizer, Microsoft OutlookE.g., Lotus Organizer, Microsoft Outlook

GroupwareGroupware– Software that helps workgroups collaborate on Software that helps workgroups collaborate on

group assignmentsgroup assignments– E-mail, discussion groups, databases, E-mail, discussion groups, databases,

videoconferencingvideoconferencing– E.g., Lotus Notes, Novell GroupWise, Microsoft E.g., Lotus Notes, Novell GroupWise, Microsoft

ExchangeExchange

Page 17: Chapter 4

Software alternativesSoftware alternatives

Outsourcing development and Outsourcing development and maintenance of softwaremaintenance of software

Application service providers (ASPs)Application service providers (ASPs)– Companies that own, operate and Companies that own, operate and

maintain application software and maintain application software and computer system resourcescomputer system resources

– Use the application for a fee over the Use the application for a fee over the InternetInternet

– Pay-as-you-goPay-as-you-go

Page 18: Chapter 4

Software LicensingSoftware Licensing

All software (COTS, ASP) is All software (COTS, ASP) is licensedlicensed

You don’t buy software: you buy a You don’t buy software: you buy a license to use the software under license to use the software under the terms of the licensing the terms of the licensing agreement agreement

Licensed to protect the vendor’s Licensed to protect the vendor’s property rightsproperty rights

Page 19: Chapter 4

SECTION IISECTION II

System Software: Computer System Software: Computer System ManagementSystem Management

Page 20: Chapter 4

System softwareSystem software

Software that manages and supports a computer Software that manages and supports a computer systemsystem

System management programsSystem management programs– Programs that manage hardware, software, Programs that manage hardware, software,

network, and data resourcesnetwork, and data resources– E.g., operating systems, network E.g., operating systems, network

management programs, database management programs, database management systems, systems utilitiesmanagement systems, systems utilities

Systems development programsSystems development programs– Programs that help users develop information Programs that help users develop information

system programssystem programs

Page 21: Chapter 4

Operating SystemOperating System

Integrated system of programs Integrated system of programs thatthat– Manages the operations of the CPUManages the operations of the CPU– Controls the input/output and storage Controls the input/output and storage

resources and activities of the resources and activities of the computer systemcomputer system

– Provides support services as Provides support services as computer executes applications computer executes applications programsprograms

Page 22: Chapter 4

Operating System basic Operating System basic functions functions

Page 23: Chapter 4

User InterfaceUser Interface

Part of the operating system that Part of the operating system that allows you to communicate with itallows you to communicate with it

Three main types:Three main types:– Command-drivenCommand-driven– Menu-drivenMenu-driven– Graphical user interfaces (GUI)Graphical user interfaces (GUI)

Page 24: Chapter 4

Resource managementResource management

Part of operating system that manages Part of operating system that manages the hardware and networking the hardware and networking resources of a computer systemresources of a computer system– Includes CPU, memory, secondary storage Includes CPU, memory, secondary storage

device, telecommunications, and device, telecommunications, and input/output peripheralsinput/output peripherals

Virtual memoryVirtual memory– Swapping parts of programs and data Swapping parts of programs and data

between memory and magnetic disksbetween memory and magnetic disks

Page 25: Chapter 4

File managementFile management

Part of the operating system that Part of the operating system that controls the creation, deletion, controls the creation, deletion, and access of files of data and and access of files of data and programsprograms

Page 26: Chapter 4

Task ManagementTask Management

Part of the operating system that manages the Part of the operating system that manages the accomplishment of computing tasks of the end accomplishment of computing tasks of the end usersusers

MultitaskingMultitasking– Task management approach that allows for Task management approach that allows for

several tasks to be performed in a seemingly several tasks to be performed in a seemingly simultaneous fashionsimultaneous fashion

Assigns only one task to CPU but switches between Assigns only one task to CPU but switches between tasks so quickly looks like executing all programs at tasks so quickly looks like executing all programs at onceonce

– Also called multiprogramming or time-sharingAlso called multiprogramming or time-sharing

Page 27: Chapter 4

Popular Operating Popular Operating SystemsSystems WindowsWindows

– GUI, multitasking, networking, multimediaGUI, multitasking, networking, multimedia– Microsoft’s operating systemMicrosoft’s operating system– Different versions manage serversDifferent versions manage servers

UnixUnix– Multitasking, multiuser, network-managingMultitasking, multiuser, network-managing– Portable – can run on mainframes, midrange and PCsPortable – can run on mainframes, midrange and PCs

LinuxLinux– Low-cost, powerful reliable Unix-like operating systemLow-cost, powerful reliable Unix-like operating system– Open-sourceOpen-source

MAC OS XMAC OS X– Apple operating system for the iMacApple operating system for the iMac– GUI, multitasking, multimediaGUI, multitasking, multimedia

Page 28: Chapter 4

Other types of system Other types of system softwaresoftware

Page 29: Chapter 4

Other system softwareOther system software

UtilitiesUtilities– Miscellaneous housekeeping functionsMiscellaneous housekeeping functions– Example, Norton utilities includes data backup, Example, Norton utilities includes data backup,

virus protection, data compression, etc.virus protection, data compression, etc.

Performance monitorsPerformance monitors– Programs that monitor and adjust computer system Programs that monitor and adjust computer system

to keep them running efficientlyto keep them running efficiently

Security monitorsSecurity monitors– Programs that monitor and control use of computer Programs that monitor and control use of computer

systems to prevent unauthorized use of resourcessystems to prevent unauthorized use of resources

Page 30: Chapter 4

Application serversApplication servers

Provide an interface between an Provide an interface between an operating system and the operating system and the application programs of usersapplication programs of users

MiddlewareMiddleware– Software that helps diverse software Software that helps diverse software

applications exchange data and applications exchange data and work together more efficientlywork together more efficiently

Page 31: Chapter 4

Programming Programming LanguagesLanguages

Page 32: Chapter 4

Machine LanguagesMachine Languages

First-generation languagesFirst-generation languages All program instructions had to be All program instructions had to be

written using binary codes unique written using binary codes unique to each computerto each computer

Programmers had to know the Programmers had to know the internal operations of the specific internal operations of the specific type of CPUtype of CPU

Page 33: Chapter 4

Assembler LanguagesAssembler Languages

Second-generation languagesSecond-generation languages Symbols are used to represent Symbols are used to represent

operation codes and storage locationsoperation codes and storage locations Need language translator programs to Need language translator programs to

convert the instructions into machine convert the instructions into machine instructionsinstructions

Used by systems programmers (who Used by systems programmers (who program system software)program system software)

Page 34: Chapter 4

High-Level LanguagesHigh-Level Languages

Third-generation languagesThird-generation languages Instructions that use brief statements or Instructions that use brief statements or

arithmetic expressionsarithmetic expressions Easier to learn than assemblerEasier to learn than assembler Machine independentMachine independent Less efficient than assemblerLess efficient than assembler Macroinstructions: each statement Macroinstructions: each statement

generates several machine instructions generates several machine instructions when translated by compilers or when translated by compilers or interpretersinterpreters

Page 35: Chapter 4

Fourth-Generation Fourth-Generation LanguagesLanguages Variety of programming languages Variety of programming languages

that are nonprocedural and that are nonprocedural and conversationalconversational

Natural LanguageNatural Language – very close to – very close to English or other human languageEnglish or other human language

NonproceduralNonprocedural – users specify results – users specify results they want while computer determines they want while computer determines the sequence of instructions that will the sequence of instructions that will accomplish those resultsaccomplish those results

Page 36: Chapter 4

Object-Oriented Object-Oriented LanguagesLanguages Combine data Combine data

elements and the elements and the procedures that will procedures that will be performed upon be performed upon them into them into ObjectsObjects

E.g., an object could E.g., an object could be data about a bank be data about a bank account and the account and the procedures performed procedures performed on it such as interest on it such as interest calculationscalculations

Page 37: Chapter 4

Object-Oriented Object-Oriented LanguagesLanguages Most widely used software Most widely used software

development languages todaydevelopment languages today Easier to use and more efficient for Easier to use and more efficient for

graphics-oriented user interfacesgraphics-oriented user interfaces Reusable: can use an object from Reusable: can use an object from

one application in another one application in another applicationapplication

E.g., Visual Basic, C++, JavaE.g., Visual Basic, C++, Java

Page 38: Chapter 4

Web LanguagesWeb Languages

HTMLHTML – A page description language that creates A page description language that creates

hypertext documents for the Webhypertext documents for the Web XMLXML

– Describes the contents of Web pages by applying Describes the contents of Web pages by applying identifying tags or contextual labels to the data in identifying tags or contextual labels to the data in Web documentsWeb documents

JavaJava– Object-oriented programming language that is Object-oriented programming language that is

simple, secure and platform independentsimple, secure and platform independent– Java applets can be executed on any computerJava applets can be executed on any computer

Page 39: Chapter 4

J2EE versus .NetJ2EE versus .Net

Page 40: Chapter 4

Web ServicesWeb Services

Software components Software components based on a framework of Web and based on a framework of Web and

object-oriented standards and object-oriented standards and technologies technologies

for using the Web for using the Web to electronically link the to electronically link the

applications of different users and applications of different users and different computing platformsdifferent computing platforms

Page 41: Chapter 4

How web services How web services workwork

Source: Adapted from Bala Iyer, Jim Freedman, Mark Gaynor and George Wyner, “Web Services: Enabling Dynamic BusinessNetworks,” Communications of the Association for Information Systems, Volume11, 2003, p. 543.

Page 42: Chapter 4

Language Translator Language Translator ProgramsPrograms Translate instructions written in programming Translate instructions written in programming

languages into machine languagelanguages into machine language AssemblerAssembler

– translates assembler language statementstranslates assembler language statements CompilerCompiler

– translates high-level language statementstranslates high-level language statements InterpreterInterpreter

– compiler that translates and executes each compiler that translates and executes each statement in a program one at a timestatement in a program one at a time

– Java is interpretedJava is interpreted

Page 43: Chapter 4

Programming ToolsProgramming Tools

Help programmers identify and minimize errors Help programmers identify and minimize errors while they are programmingwhile they are programming– Graphical Programming InterfacesGraphical Programming Interfaces– Programming EditorsProgramming Editors– DebuggersDebuggers

CASE toolsCASE tools– A combination of many programming tools A combination of many programming tools

into a single application with a common into a single application with a common interfaceinterface

– Used in different stages of the systems Used in different stages of the systems development processdevelopment process

Page 44: Chapter 4

Real World Internet Real World Internet ActivityActivity

Industry-specific software Industry-specific software applications are everywhere. applications are everywhere. However, many industries still lack a However, many industries still lack a wide variety of software applications wide variety of software applications to support their needs. to support their needs. – Using the Internet, see if you can find one Using the Internet, see if you can find one

example of an industry that has a wide example of an industry that has a wide variety of vertical applications and one variety of vertical applications and one industry that does not have a variety of industry that does not have a variety of software solutions from which to choose.software solutions from which to choose.