View
213
Download
0
Category
Tags:
Preview:
Citation preview
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 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
Recommended