Sheu 1 L Ch5: Software Review Learning Objectives n DESCRIBE MAJOR TYPES OF SOFTWARE n EXAMINE...

17
Sheu Sheu 1 L Ch5: Software Review L Ch5: Software Review Learning Objectives Learning Objectives DESCRIBE MAJOR TYPES OF DESCRIBE MAJOR TYPES OF SOFTWARE SOFTWARE EXAMINE SYSTEM SOFTWARE & EXAMINE SYSTEM SOFTWARE & OPERATING SYSTEMS OPERATING SYSTEMS EXPLAIN SOFTWARE EVOLUTION EXPLAIN SOFTWARE EVOLUTION ANALYZE MAJOR APPLICATION ANALYZE MAJOR APPLICATION LANGUAGES LANGUAGES DESCRIBE APPROACHES TO SOFTWARE DESCRIBE APPROACHES TO SOFTWARE DEVELOPMENT DEVELOPMENT

Transcript of Sheu 1 L Ch5: Software Review Learning Objectives n DESCRIBE MAJOR TYPES OF SOFTWARE n EXAMINE...

SheuSheu 11

L Ch5: Software ReviewL Ch5: Software ReviewLearning ObjectivesLearning Objectives

DESCRIBE MAJOR TYPES OF DESCRIBE MAJOR TYPES OF SOFTWARESOFTWARE

EXAMINE SYSTEM SOFTWARE & EXAMINE SYSTEM SOFTWARE & OPERATING SYSTEMSOPERATING SYSTEMS

EXPLAIN SOFTWARE EVOLUTIONEXPLAIN SOFTWARE EVOLUTION ANALYZE MAJOR APPLICATION ANALYZE MAJOR APPLICATION

LANGUAGESLANGUAGES DESCRIBE APPROACHES TO DESCRIBE APPROACHES TO

SOFTWARE DEVELOPMENTSOFTWARE DEVELOPMENT

SheuSheu 22

SOFTWARESOFTWAREDETAILED INSTRUCTIONS TO CONTROL DETAILED INSTRUCTIONS TO CONTROL

COMPUTER OPERATIONCOMPUTER OPERATION PROGRAM:PROGRAM: SET OF INSTRUCTIONS TO SET OF INSTRUCTIONS TO

THE COMPUTERTHE COMPUTER STORED:STORED: PROGRAM MUST BE IN PROGRAM MUST BE IN

PRIMARY STORAGEPRIMARY STORAGE SYSTEM SOFTWARE:SYSTEM SOFTWARE: MANAGES MANAGES

COMPUTER RESOURCESCOMPUTER RESOURCES APPLICATION SOFTWARE:APPLICATION SOFTWARE: SPECIFIC SPECIFIC

BUSINESS APPLICATIONBUSINESS APPLICATION

SheuSheu 33

SOFTWARESOFTWARE

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” “FOURTH GENERATION” LANGUAGESLANGUAGES

SYSTEM SOFTWARESYSTEM SOFTWARE

APPLICATION SOFTWAREAPPLICATION SOFTWARE

SheuSheu 44

Software Classification Software Classification (Alternative view)(Alternative view)

SheuSheu 55

OPERATING SYSTEMOPERATING SYSTEM

MANAGES & CONTROLS ACTIVITIESMANAGES & CONTROLS ACTIVITIES ALLOCATION & ASSIGNMENTALLOCATION & ASSIGNMENT SCHEDULINGSCHEDULING MONITORINGMONITORING SYSTEM RESIDENCE DEVICE:SYSTEM RESIDENCE DEVICE:

• SECONDARY STORAGE DEVICE STORING SECONDARY STORAGE DEVICE STORING OPERATING SYSTEMOPERATING SYSTEM

Common OS’Common OS’• DOS; Windows 95 & 98; Windows NT; Windows CE; OS/2; DOS; Windows 95 & 98; Windows NT; Windows CE; OS/2;

UNIX; Mac OSUNIX; Mac OS

SheuSheu 66

MULTIPROGRAMMINGMULTIPROGRAMMINGO

PE

RA

TIN

G

OP

ER

AT

ING

S

YS

TE

MS

YS

TE

M

UNUSED MEMORYUNUSED MEMORY

PROGRAM 1PROGRAM 1

TRADITIONAL SINGLE-TRADITIONAL SINGLE-PROGRAM SYSTEMPROGRAM SYSTEM

OP

ER

AT

ING

O

PE

RA

TIN

G

SY

ST

EM

SY

ST

EM

UNUSED MEMORYUNUSED MEMORY

PROGRAM 1PROGRAM 1

PROGRAM 2PROGRAM 2

PROGRAM 3PROGRAM 3

MULTIPROGRAMMING MULTIPROGRAMMING ENVIRONMENTENVIRONMENT

MULTITASKINGMULTITASKING• MULTIPROGRAMMING ON A SINGLE-USER SYSTEM MULTIPROGRAMMING ON A SINGLE-USER SYSTEM SUCH AS A MICROCOMPUTERSUCH AS A MICROCOMPUTER

SheuSheu 77

Virtual Storage & Time SharingVirtual Storage & Time SharingSTORED PROGRAM CONCEPTSTORED PROGRAM CONCEPT

• A program can not be executed unless it is stored in primary memory w/ A program can not be executed unless it is stored in primary memory w/ data.data.

VIRTUAL STORAGEVIRTUAL STORAGE METHOD OF HANDLING SEVERAL PROGRAMS IN PRIMARY STORAGE:METHOD OF HANDLING SEVERAL PROGRAMS IN PRIMARY STORAGE:

• PROGRAM DIVIDED INTOPROGRAM DIVIDED INTO– FIXED LENGTH PORTIONS (PAGES) ORFIXED LENGTH PORTIONS (PAGES) OR– VARIABLE LENGTH (SEGMENTS)VARIABLE LENGTH (SEGMENTS)

• CURRENT PORTIONS RESIDE IN PRIMARY STORAGECURRENT PORTIONS RESIDE IN PRIMARY STORAGE• PORTIONS SWAPPED OUT WHEN DONEPORTIONS SWAPPED OUT WHEN DONE

TIME SHARINGTIME SHARINGMANY USERS SHARE LARGE CPU:MANY USERS SHARE LARGE CPU:

• TIME IN CPU DIVIDED INTO SLICES (e.g.: 2 MILLISECONDS)TIME IN CPU DIVIDED INTO SLICES (e.g.: 2 MILLISECONDS)• EACH USER HAS ACCESS TO CPU DURING SLICEEACH USER HAS ACCESS TO CPU DURING SLICE• SINCE CPU IS FAST, CAN DO MUCH DURING TIME SLICESINCE CPU IS FAST, CAN DO MUCH DURING TIME SLICE• USER’S JOB SWAPPED OUT AT END OF SLICEUSER’S JOB SWAPPED OUT AT END OF SLICE

SheuSheu 88

MULTIPROCESSINGMULTIPROCESSING TWO OR MORE PARALLEL PROCESSORS IN SYSTEMTWO OR MORE PARALLEL PROCESSORS IN SYSTEM PROGRAM CAN BE DIVIDED TO BE PROCESSED BY MUPROGRAM CAN BE DIVIDED TO BE PROCESSED BY MU

LTIPLE CPUsLTIPLE CPUs CAN PROCESS LARGE PROGRAMS MORE RAPIDLY CAN PROCESS LARGE PROGRAMS MORE RAPIDLY

Is it really paralleling at the lowest CPU level ?Is it really paralleling at the lowest CPU level ?

SheuSheu 99

TR

AN

SL

AT

ION

PR

OC

ES

ST

RA

NS

LA

TIO

N P

RO

CE

SS SOURCE CODE SOURCE CODE

PROGRAMPROGRAM

COMPILERCOMPILER

OBJECT CODEOBJECT CODE

LINKAGE LINKAGE EDITOREDITOR

LOAD MODULELOAD MODULE

OTHER OBJECT OTHER OBJECT CODE MODULESCODE MODULES

LANGUAGE TRANSLATIONLANGUAGE TRANSLATIONSOURCE CODE:

• HIGH-LEVEL LANGUAGE INSTRUCTIONS

COMPILER: •TRANSLATES HIGH-LEVEL CODE INTO MACHINE LANGUAGE

OBJECT CODE: •TRANSLATED INSTRUCTIONS READY FOR COMPUTER

SheuSheu 1010

GRAPHICAL USER INTERFACE (GUI)GRAPHICAL USER INTERFACE (GUI)

OPERATING SYSTEM USES:OPERATING SYSTEM USES: GRAPHIC ICONS (Icons, Buttons, Bars, GRAPHIC ICONS (Icons, Buttons, Bars,

Boxes)Boxes) MOUSEMOUSE

• TO ISSUE COMMANDSTO ISSUE COMMANDS

• MAKE SELECTIONSMAKE SELECTIONS

SheuSheu 1111

GENERATIONS OF PROGRAMMING LANGUAGESGENERATIONS OF PROGRAMMING LANGUAGES

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

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

3rd. Since mid ‘50s. 3rd. Since mid ‘50s. HIGH-LEVEL LANGUAGESHIGH-LEVEL LANGUAGES

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

SheuSheu 1212

HIGH-LEVEL LANGUAGESHIGH-LEVEL LANGUAGES FORTRANFORTRAN (FORmula TRANslator). Scientific, (FORmula TRANslator). Scientific,

Engineering applicationsEngineering applications COBOLCOBOL (COmmon Business Oriented Language). (COmmon Business Oriented Language).

Predominant for Transaction ProcessingPredominant for Transaction Processing BASICBASIC (Beginners All-purpose Symbolic Instruction (Beginners All-purpose Symbolic Instruction

Code). General Purpose PC LanguageCode). General Purpose PC Language PASCAL.PASCAL. Used to Teach Structured Programming Used to Teach Structured Programming

Practices. Weak in File Handling, Input / OutputPractices. Weak in File Handling, Input / Output C and C++.C and C++. Powerful PC Language for Developing Powerful PC Language for Developing

Applications. Efficient Execution; Cross PlatformApplications. Efficient Execution; Cross Platform PL/1PL/1 (Programming Language 1). Powerful IBM (Programming Language 1). Powerful IBM

Language for Business & ScienceLanguage for Business & Science ADA.ADA. Designed for Weapon Systems. Can be used on Designed for Weapon Systems. Can be used on

many Platforms. Structured. Can be used for Businessmany Platforms. Structured. Can be used for Business

SheuSheu 1313

ARTIFICIAL INTELLIGENCE LANGUAGESARTIFICIAL INTELLIGENCE LANGUAGES LISPLISP (LISt Processor). Began late ‘50s at (LISt Processor). Began late ‘50s at

MIT. Preferred in US. Require Specially MIT. Preferred in US. Require Specially Configured MachinesConfigured Machines

PROLOG.PROLOG. Began in early ‘70s. Preferred Began in early ‘70s. Preferred outside US. Cross Platformoutside US. Cross Platform

CREATE MEANINGFUL LISTS OF CREATE MEANINGFUL LISTS OF SYMBOLSSYMBOLS (Operations; Variables; Data)(Operations; Variables; Data)

SheuSheu 1414

FOURTH GENERATION LANGUAGES (4GL)FOURTH GENERATION LANGUAGES (4GL)

CAN BE EMPLOYED BY END USERSCAN BE EMPLOYED BY END USERS NONPROCEDURALNONPROCEDURAL CAN DEVELOP APPLICATIONS QUICKLYCAN DEVELOP APPLICATIONS QUICKLY NATURAL LANGUAGESNATURAL LANGUAGES

SheuSheu 1515

FOURTH GENERATION LANGUAGES (4GL)FOURTH GENERATION LANGUAGES (4GL) SIX CATEGORIESSIX CATEGORIES

1. Query languages:1. Query languages:– rapidly retrieve data; interactive/ on-line; may use NATURAL LANGUAGE; supporapidly retrieve data; interactive/ on-line; may use NATURAL LANGUAGE; suppo

rt special requests for data from relational databasesrt special requests for data from relational databases

2. Report Generators:2. Report Generators:– create customized reports; wide range of formatscreate customized reports; wide range of formats

3. Graphics Generators3. Graphics Generators– can manipulate drawings, graphs, photos, videos; presentation managerscan manipulate drawings, graphs, photos, videos; presentation managers

4. Application Generators:4. Application Generators:– user specifies computer needs; generator creates logic and code for application; greauser specifies computer needs; generator creates logic and code for application; grea

tly reduces development timetly reduces development time

5. Very High Level Prog. Languages:5. Very High Level Prog. Languages:– professional programmer productivity tool; uses fewer instructions; reduces developprofessional programmer productivity tool; uses fewer instructions; reduces develop

ment timement time

6. Software Packages/PC Software tools6. Software Packages/PC Software tools– Commercially available set of programs…(eg. MS office / Lotus Suite)Commercially available set of programs…(eg. MS office / Lotus Suite)– Integrated suites/ E-mail/Web Browser/Integrated suites/ E-mail/Web Browser/GroupwareGroupware

6.25

SheuSheu 1616

OBJECT-ORIENTED OBJECT-ORIENTED PROGRAMMINGPROGRAMMING

Object:Object: – COMBINES DATA & PROCEDURES INTO A SINGLE COMBINES DATA & PROCEDURES INTO A SINGLE OBJECT.OBJECT.

Class: Class: – ALL OBJECTS OF A CLASS HAVE ALL FEATURES OF THAT CLASSALL OBJECTS OF A CLASS HAVE ALL FEATURES OF THAT CLASS

Message: Message: – PROGRAM SENDS MESSAGE TO OBJECT TO PERFORM EMBEDDED PROGRAM SENDS MESSAGE TO OBJECT TO PERFORM EMBEDDED

PROCEDUREPROCEDURE Encapsulation:Encapsulation:

– OBJECT’S DATA ENCAPSULATED FROM REST OF SYSTEMOBJECT’S DATA ENCAPSULATED FROM REST OF SYSTEM Inheritance:Inheritance:

– SPECIFIC CLASS RECEIVES FEATURES OF A MORE GENERAL CLASSSPECIFIC CLASS RECEIVES FEATURES OF A MORE GENERAL CLASS Overriding:Overriding:

– SUBCLASS MAY OVEERRIDE INHERITED METHOD SUBCLASS MAY OVEERRIDE INHERITED METHOD Visual Programming:Visual Programming: (Not all OOP)(Not all OOP)

– SELECT AND ARRANGE OBJECTS RATHER THAN WRITE CodeSELECT AND ARRANGE OBJECTS RATHER THAN WRITE Code REDUCES TIME AND COST OF WRITING SOFTWAREREDUCES TIME AND COST OF WRITING SOFTWARE

SheuSheu 1717

OBJECT-ORIENTED OBJECT-ORIENTED PROGRAMMINGPROGRAMMING

JAVA:JAVA: Sun Microsystems OBJECT-ORIENTED Sun Microsystems OBJECT-ORIENTED PROGRAMMING LANGUAGEPROGRAMMING LANGUAGE• APPLET: TINY PROGRAM TO EXECUTE SMALL APPLET: TINY PROGRAM TO EXECUTE SMALL

FUNCTIONFUNCTION• APPLETS DOWNLOADED FROM NETWORKAPPLETS DOWNLOADED FROM NETWORK• RUN ON ANY COMPUTER & OPERATING SYSTEMRUN ON ANY COMPUTER & OPERATING SYSTEM• RESULT SAVED ON NETWORK, NOT ON PCRESULT SAVED ON NETWORK, NOT ON PC• ONLY NETWORK VERSION OF SOFTWARE NEEDS ONLY NETWORK VERSION OF SOFTWARE NEEDS

UPGRADEUPGRADE

ActiveX:ActiveX: CONTROLS FOR CONTROLS FOR WINDOWS WINDOWS SOFTWARE SOFTWARE ENVIRONMENTENVIRONMENT

to enable OBJECTS: e.g., to enable OBJECTS: e.g., CHARTS, TABLES, CHARTS, TABLES, ANIMATIONSANIMATIONS to be EMBEDDED IN A WEB PAGE to be EMBEDDED IN A WEB PAGE