Top Banner
24
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: laudon06.ppt
Page 2: laudon06.ppt

Learning ObjectivesLearning Objectives

• DESCRIBE MAJOR TYPES OF SOFTWAREDESCRIBE MAJOR TYPES OF SOFTWARE• EXAMINE SYSTEM SOFTWARE & EXAMINE SYSTEM SOFTWARE &

OPERATING SYSTEMSOPERATING SYSTEMS• EXPLAIN SOFTWARE EVOLUTIONEXPLAIN SOFTWARE EVOLUTION• ANALYZE MAJOR APPLICATION ANALYZE MAJOR APPLICATION

LANGUAGESLANGUAGES• DESCRIBE APPROACHES TO SOFTWARE DESCRIBE APPROACHES TO SOFTWARE

DEVELOPMENTDEVELOPMENT

**

Page 3: laudon06.ppt

SoftwareSoftware

DETAILED INSTRUCTIONS TO CONTROL DETAILED INSTRUCTIONS TO CONTROL COMPUTER OPERATIONCOMPUTER OPERATION

• PROGRAM:PROGRAM: Set of instructions (i.e., html) for Set of instructions (i.e., html) for computer to runcomputer to run

• System Software:System Software: Manages computer resources, Manages computer resources, e.g., Win98.e.g., Win98.

• Application Software:Application Software: MS Office, QVT-term, WS-MS Office, QVT-term, WS-FTP, etc.FTP, etc.

• Utility Programs:Utility Programs: add-on, supplementary add-on, supplementary programs; e.g., Mapedit.programs; e.g., Mapedit.

**

Page 4: laudon06.ppt

SOFTWARESOFTWARESOFTWARESOFTWARE

HARDWAREHARDWARE

OPERATING SYSTEM:OPERATING SYSTEM:

SCHEDULED COMPUTER SCHEDULED COMPUTER EVENTS ALLOCATES EVENTS ALLOCATES COMPUTER RESOURCES COMPUTER RESOURCES MONITORS EVENTSMONITORS EVENTS

LANGUAGE TRANSLATORS:LANGUAGE TRANSLATORS:

INTERPRETERSINTERPRETERSCOMPILERSCOMPILERS

UTILITY PROGRAMS:UTILITY PROGRAMS:

ROUTINE OPERATIONSROUTINE OPERATIONSMANAGE DATAMANAGE DATA

PROGRAMMING LANGUAGES: PROGRAMMING LANGUAGES:

ASSEMBLY LANGUAGE; FORTRAN; ASSEMBLY LANGUAGE; FORTRAN; COBOL; PL / 1; QBASIC; PASCAL; C; C++; COBOL; PL / 1; QBASIC; PASCAL; C; C++;

“FOURTH GENERATION” LANGUAGES“FOURTH GENERATION” LANGUAGES

SYSTEM SOFTWARESYSTEM SOFTWARE

APPLICATION SOFTWAREAPPLICATION SOFTWARE

Page 5: laudon06.ppt

Operating SystemOperating System

MANAGES & CONTROLS ACTIVITIESMANAGES & CONTROLS ACTIVITIES• Allocation & Assignment of memory Allocation & Assignment of memory

and other resourcesand other resources• Scheduling (which program gets to Scheduling (which program gets to

use CPU time, and how)use CPU time, and how)• Monitoring for resource usage Monitoring for resource usage

conflictsconflicts**

Page 6: laudon06.ppt

MultiprogrammingMultiprogrammingO

PE

RA

TIN

G S

YS

TE

MO

PE

RA

TIN

G S

YS

TE

M

UNUSED MEMORYUNUSED MEMORY

PROGRAM 1PROGRAM 1

TRADITIONAL SINGLE-TRADITIONAL SINGLE-PROGRAM SYSTEMPROGRAM SYSTEM

OP

ER

AT

ING

SY

ST

EM

OP

ER

AT

ING

SY

ST

EM

UNUSED MEMORYUNUSED MEMORY

PROGRAM 1PROGRAM 1

PROGRAM 2PROGRAM 2

PROGRAM 3PROGRAM 3

MULTIPROGRAMMING MULTIPROGRAMMING ENVIRONMENTENVIRONMENT

Page 7: laudon06.ppt

MultitaskingMultitasking

More than one program running on a More than one program running on a single-user system such as PC.single-user system such as PC.

Note: different from multi-processingNote: different from multi-processing..

**

6.7

Page 8: laudon06.ppt

Virtual Storage/MemoryVirtual Storage/MemoryTo allow one or many larger programs to run To allow one or many larger programs to run

on the computer using relatively small on the computer using relatively small amount of RAM (work area)amount of RAM (work area)

• Current portions reside in primary storageCurrent portions reside in primary storage• Portions swapped out to HD when donePortions swapped out to HD when done

**

Page 9: laudon06.ppt

Time SharingTime Sharing

MANY USERS SHARE LARGE CPU:MANY USERS SHARE LARGE CPU:• TIME IN CPU DIVIDED INTO SLICES (e.g.: TIME IN CPU DIVIDED INTO SLICES (e.g.:

2 MILLISECONDS)2 MILLISECONDS)• EACH USER HAS ACCESS TO CPU EACH USER HAS ACCESS TO CPU

DURING SLICEDURING SLICE• SINCE CPU IS FAST, CAN DO MUCH SINCE CPU IS FAST, CAN DO MUCH

DURING TIME SLICE, like a master chess DURING TIME SLICE, like a master chess playerplayer

**

Page 10: laudon06.ppt

MultiprocessingMultiprocessing

• Two or more parallel processors in systemTwo or more parallel processors in system• Program can be divided to be processed Program can be divided to be processed

by multiple CPUsby multiple CPUs• Can process large programs more rapidlyCan process large programs more rapidly• ““Cosmic Cube” and Inktomi search engine Cosmic Cube” and Inktomi search engine

**

6.10

Page 11: laudon06.ppt

Language TranslationLanguage Translation

• SOURCE CODE:SOURCE CODE: your programyour program

• COMPILER:COMPILER: convert your program convert your program into machine languageinto machine language

• OBJECT CODE (aka binary code or OBJECT CODE (aka binary code or bi-code):bi-code): ready to run program, ready to run program, executables.executables.

**

Page 12: laudon06.ppt

Interpreter vs. CompilerInterpreter vs. Compiler

• Interpreter translate one line at a time Interpreter translate one line at a time for execution. For example, Basic for execution. For example, Basic and Javascriptand Javascript

• Compilers translate the whole Compilers translate the whole program before executionprogram before execution

Page 13: laudon06.ppt

Graphical User Interface (GUI)Graphical User Interface (GUI)

Uses Recognition Memory rather Uses Recognition Memory rather than Recall Memory (used in than Recall Memory (used in command-driven interface)command-driven interface)

More user friendlyMore user friendly

**

6.13

Page 14: laudon06.ppt

MICROCOMPUTER OPERATING SYSTEMSMICROCOMPUTER OPERATING SYSTEMS

OPERATING SYSTEMOPERATING SYSTEM FEATURESFEATURES

DOSDOS

Windows 95, 98, Windows 95, 98, MeMe

Windows NT, Windows NT, 2K (NT5)2K (NT5)

Windows CEWindows CE

For IBM (PC-DOS) and PC (MS-DOS). For IBM (PC-DOS) and PC (MS-DOS). Program Memory: 640KProgram Memory: 640K

32-bit operating system; GUI; Multitasking. 32-bit operating system; GUI; Multitasking. NetworkingNetworking

32-bit operating system not limited to Intel chips. 32-bit operating system not limited to Intel chips. Multitasking; Multiprocessing; NetworkingMultitasking; Multiprocessing; Networking

32-bit. Developed for IBM PS/2. Multitasking; 32-bit. Developed for IBM PS/2. Multitasking; NetworkingNetworking

Paired-down for handheld computers, wireless Paired-down for handheld computers, wireless communication devicescommunication devices

OS/2OS/2

Page 15: laudon06.ppt

MICROCOMPUTER OPERATING SYSTEMSMICROCOMPUTER OPERATING SYSTEMS

OPERATING SYSTEMOPERATING SYSTEM FEATURESFEATURES

UNIXUNIX For powerful Microcomputers, Workstations, For powerful Microcomputers, Workstations, Minicomputers. Multitasking; Multi-user Minicomputers. Multitasking; Multi-user Processing; Networking. Portable to various Processing; Networking. Portable to various Computer PlatformsComputer Platforms

Mac OSMac OS For Macintosh computers. Multitasking. For Macintosh computers. Multitasking. Powerful Graphics; MultimediaPowerful Graphics; Multimedia

6.15

LinuxLinux UNIX on PCUNIX on PC

Page 16: laudon06.ppt

Generations Of Programming Generations Of Programming LanguagesLanguages

1st. Since 1940s. 1st. Since 1940s. MACHINE LANGUAGE:MACHINE LANGUAGE: binary codebinary code

2nd. Since early ’50s. 2nd. Since early ’50s. ASSEMBLY ASSEMBLY LANGUAGE:LANGUAGE: mnemonics for numeric codemnemonics for numeric code

3rd. Since mid ‘50s. 3rd. Since mid ‘50s. HIGH-LEVEL HIGH-LEVEL LANGUAGESLANGUAGES

4th. Since late ‘70s. 4th. Since late ‘70s. MODERN APPLICATION MODERN APPLICATION PACKAGESPACKAGES

**

6.16

Page 17: laudon06.ppt

HIGH-LEVEL LANGUAGESHIGH-LEVEL LANGUAGES• FORTRANFORTRAN (FORmula TRANslator). (FORmula TRANslator).

Scientific, Engineering applicationsScientific, Engineering applications

• COBOLCOBOL (COmmon Business (COmmon Business Oriented Language). Predominant for Oriented Language). Predominant for Transaction ProcessingTransaction Processing

• BASICBASIC (Beginners All-purpose (Beginners All-purpose Symbolic Instruction Code). General Symbolic Instruction Code). General Purpose PC LanguagePurpose PC Language

**

6.17

Page 18: laudon06.ppt

High-level LanguagesHigh-level Languages• PASCAL.PASCAL. Used to Teach Structured Used to Teach Structured

Programming Practices. Weak in File Programming Practices. Weak in File Handling, Input / OutputHandling, Input / Output

• C and C++.C and C++. Powerful PC Language for Powerful PC Language for Developing Applications. Efficient Execution; Developing Applications. Efficient Execution; Cross PlatformCross Platform

• PL/1PL/1 (Programming Language 1). Powerful (Programming Language 1). Powerful IBM Language for Business & ScienceIBM Language for Business & Science

• ADA.ADA. Designed for Weapon Systems. Can be Designed for Weapon Systems. Can be used on many Platforms. Structured. Can be used on many Platforms. Structured. Can be used for Businessused for Business

**6.18

Page 19: laudon06.ppt

Fourth Generation Languages (4GL)Fourth Generation Languages (4GL)

• Address the “expertise” requirement Address the “expertise” requirement of “right” tool. Relatively easy to useof “right” tool. Relatively easy to use

• NonproceduralNonprocedural

• Can develop applications more Can develop applications more quicklyquickly

• Use “Natural Languages”Use “Natural Languages”**

6.20

Page 20: laudon06.ppt

Fourth Generation Languages Fourth Generation Languages (4GL)(4GL)

1. Query Languages (e.g., SQL)1. Query Languages (e.g., SQL)

• rapidly retrieve datarapidly retrieve data

• interactive/ on-lineinteractive/ on-line

• may use NATURAL LANGUAGEmay use NATURAL LANGUAGE

• support special requests for data support special requests for data from relational databasesfrom relational databases

**

6.21

Page 21: laudon06.ppt

Fourth Generation Languages Fourth Generation Languages (4GL)(4GL)

2. Report Generators2. Report Generators

3. Graphics Languages3. Graphics Languages

4. Application Generators (e.g., 4. Application Generators (e.g., InterDev)InterDev) **

6.22

Page 22: laudon06.ppt

Fourth Generation Languages Fourth Generation Languages (4GL)(4GL)

SQL will be used in Project 3, and IFPS SQL will be used in Project 3, and IFPS will be used in Projects 5 and 6 to will be used in Projects 5 and 6 to demonstrate the capability and demonstrate the capability and limitations of 4GLlimitations of 4GL

**

6.23

Page 23: laudon06.ppt

SOFTWARE TOOLSSOFTWARE TOOLS• WORD PROCESSINGWORD PROCESSING• SPREADSHEETSSPREADSHEETS• DATA MANAGEMENTDATA MANAGEMENT• PRESENTATION GRAPHICSPRESENTATION GRAPHICS• INTEGRATED SOFTWARE SUITESINTEGRATED SOFTWARE SUITES• E-MAILE-MAIL• WEB BROWSERSWEB BROWSERS• GROUPWAREGROUPWARE

**

6.26

Page 24: laudon06.ppt

Object-Oriented Object-Oriented ProgrammingProgramming

JAVA:JAVA: Sun Microsystem’s Object-Oriented Sun Microsystem’s Object-Oriented programming languageprogramming language

• Applet: small programs for specific functions Applet: small programs for specific functions (e.g., “hit” counters)(e.g., “hit” counters)

• Applets downloaded from networkApplets downloaded from network• ““Cross-platform”Cross-platform”

• Only the network software needs upgradeOnly the network software needs upgrade

**