learning objectives describe major types of softwaredescribe major types of software examine system...
TRANSCRIPT
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
**
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.
**
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
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**
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
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
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
**
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
**
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
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.
**
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
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
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
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
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
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
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
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
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
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
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
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
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
**