Spring 2009: Section 4 – Lecture 4 Reading: Chapter 4 Chapter 7.
Chapter 4
-
Upload
beatrice-duke -
Category
Documents
-
view
27 -
download
0
description
Transcript of Chapter 4
Chapter 4Chapter 4
Computer SoftwareComputer Software
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.
SECTION 1SECTION 1
Application Software: End User Application Software: End User ApplicationsApplications
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
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
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.
Types of softwareTypes of software
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?
Software SuitesSoftware Suites
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
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
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
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
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
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
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
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
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
SECTION IISECTION II
System Software: Computer System Software: Computer System ManagementSystem Management
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
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
Operating System basic Operating System basic functions functions
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)
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
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
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
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
Other types of system Other types of system softwaresoftware
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
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
Programming Programming LanguagesLanguages
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
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)
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
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
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
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
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
J2EE versus .NetJ2EE versus .Net
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
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.
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
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
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.