CH004

Post on 14-Aug-2015

39 views 0 download

Tags:

Transcript of CH004

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

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)

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)

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

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

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)

4-10

Components of Top Software Suites

4-11

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

Web Browsers (the universal client)

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

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

4-15

e.g. of a blog

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

4-17

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

Commonpresentation

graphicspackages…

Are used to create multimedia

presentations of graphics, photos, animation, video

Helps emphasis things

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

4-20

Personal Information Managers

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

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

4-23

ASP Example

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

4-25

Cloud Computing

4-26

Cloud Computing

4-27

Cloud Computing e.g. “SkyDrive”

4-28

Cloud Computing

4-29

Categories of System 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-30

Interface Between End Users & Computer

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 activatedbefore other tasks can be accomplished

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

4-33

Operating System Basic Functions

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

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

4-35

Operating System Basic FunctionsTask 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-processing1- Multitasking:

(multiprogramming or time-sharing): using only one CPU 2 Types:

A) Preemptive B) Cooperative

2- Multiprocessing: • using more than one CPU

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

4-37

Popular Operating Systems

Linux– Low-cost, powerful, reliable, Unix-like

operating system

– Open-source

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

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

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

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

4-42

Application Virtualization e.g. (VMware)

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

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

4-45

Programming Languages

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

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, called mnemonics, and other symbols represent operation codes,

storage locations, and data elements

4-48

High-Level Languages

Third Generation Languages

Uses brief statements or arithmetic expressions

Statements translated into machine languageby compilers or interpreters

Easier to learn and program, Less efficient than assembler language and requires greater translation time

Machine independent

Examples: BASIC, COBOL, FORTRAN

4-49

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

SQL (4GL)

4-51

Object-Oriented Languages

4-52

Object-Oriented Languages

Combines data elements and the procedures that will be performed uponthem into objects– E.g., data about a bank account and the

procedures performed on it, such as interest calculations

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

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 executedon any computer

4-55

HTML e.g.

4-56

XML e.g.

4-57

Java Applet

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

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 ina program,

one at a time

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