L Ch 5 Software Review Learning Objectives n

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

SOFTWARE DETAILED INSTRUCTIONS TO CONTROL COMPUTER OPERATION n PROGRAM: SET OF INSTRUCTIONS TO THE COMPUTER n STORED: PROGRAM MUST BE IN PRIMARY STORAGE n SYSTEM SOFTWARE: MANAGES COMPUTER RESOURCES n APPLICATION SOFTWARE: SPECIFIC BUSINESS APPLICATION Sheu 2

SOFTWARE APPLICATION SOFTWARE OPERATING SYSTEM: SYSTEM SOFTWARE SCHEDULED COMPUTER EVENTS ALLOCATES COMPUTER RESOURCES MONITORS EVENTS HARDWARE LANGUAGE TRANSLATORS: INTERPRETERS COMPILERS UTILITY PROGRAMS: ROUTINE OPERATIONS MANAGE DATA PROGRAMMING LANGUAGES: ASSEMBLY LANGUAGE; FORTRAN; COBOL; PL / 1; QBASIC; PASCAL; C; C++; “FOURTH GENERATION” LANGUAGES Sheu 3

Software Classification (Alternative view) Sheu 4

OPERATING SYSTEM MANAGES & CONTROLS ACTIVITIES n ALLOCATION & ASSIGNMENT n SCHEDULING n MONITORING n SYSTEM RESIDENCE DEVICE: • SECONDARY STORAGE DEVICE STORING OPERATING SYSTEM n Common OS’ • DOS; Windows 95 & 98; Windows NT; Windows CE; OS/2; UNIX; Mac OS Sheu 5

MULTIPROGRAMMING TRADITIONAL SINGLEPROGRAM SYSTEM MULTIPROGRAMMING ENVIRONMENT OPERATING SYSTEM PROGRAM 1 UNUSED MEMORY PROGRAM 2 PROGRAM 3 UNUSED MEMORY MULTITASKING • MULTIPROGRAMMING ON A SINGLE-USER SYSTEM SUCH AS A MICROCOMPUTER Sheu 6

Virtual Storage & Time Sharing STORED PROGRAM CONCEPT • A program can not be executed unless it is stored in primary memory w/ data. VIRTUAL STORAGE n METHOD OF HANDLING SEVERAL PROGRAMS IN PRIMARY STORAGE: • PROGRAM DIVIDED INTO – FIXED LENGTH PORTIONS (PAGES) OR – VARIABLE LENGTH (SEGMENTS) • CURRENT PORTIONS RESIDE IN PRIMARY STORAGE • PORTIONS SWAPPED OUT WHEN DONE TIME SHARING MANY USERS SHARE LARGE CPU: • • TIME IN CPU DIVIDED INTO SLICES (e. g. : 2 MILLISECONDS) EACH USER HAS ACCESS TO CPU DURING SLICE SINCE CPU IS FAST, CAN DO MUCH DURING TIME SLICE USER’S JOB SWAPPED OUT AT END OF SLICE Sheu 7

MULTIPROCESSING n n TWO OR MORE PARALLEL PROCESSORS IN SYSTEM PROGRAM CAN BE DIVIDED TO BE PROCESSED BY MULTIPLE CPUs CAN PROCESS LARGE PROGRAMS MORE RAPIDLY Is it really paralleling at the lowest CPU level ? Sheu 8

TRANSLATION PROCESS LANGUAGE TRANSLATION SOURCE CODE PROGRAM n. SOURCE CODE: • HIGH-LEVEL LANGUAGE INSTRUCTIONS COMPILER n. COMPILER: • TRANSLATES HIGH-LEVEL CODE INTO MACHINE LANGUAGE OBJECT CODE n. OBJECT CODE: • TRANSLATED INSTRUCTIONS READY FOR COMPUTER OTHER OBJECT CODE MODULES LINKAGE EDITOR LOAD MODULE Sheu 9

GRAPHICAL USER INTERFACE (GUI) OPERATING SYSTEM USES: n GRAPHIC ICONS (Icons, Buttons, Bars, Boxes) n MOUSE • TO ISSUE COMMANDS • MAKE SELECTIONS Sheu 10

GENERATIONS OF PROGRAMMING LANGUAGES 1 st. Since 1940 s. MACHINE LANGUAGE: binary code 2 nd. Since early ’ 50 s. ASSEMBLY LANGUAGE: mnemonics for numeric code 3 rd. Since mid ‘ 50 s. HIGH-LEVEL LANGUAGES 4 th. Since late ‘ 70 s. MODERN APPLICATION PACKAGES Sheu 11

HIGH-LEVEL LANGUAGES n n n n FORTRAN (FORmula TRANslator). Scientific, Engineering applications COBOL (COmmon Business Oriented Language). Predominant for Transaction Processing BASIC (Beginners All-purpose Symbolic Instruction Code). General Purpose PC Language PASCAL. Used to Teach Structured Programming Practices. Weak in File Handling, Input / Output C and C++. Powerful PC Language for Developing Applications. Efficient Execution; Cross Platform PL/1 (Programming Language 1). Powerful IBM Language for Business & Science ADA. Designed for Weapon Systems. Can be used on many Platforms. Structured. Can be used for Business 12 Sheu

ARTIFICIAL INTELLIGENCE LANGUAGES LISP (LISt Processor). Began late ‘ 50 s at MIT. Preferred in US. Require Specially Configured Machines n PROLOG. Began in early ‘ 70 s. Preferred outside US. Cross Platform CREATE MEANINGFUL LISTS OF SYMBOLS (Operations; Variables; Data) n Sheu 13

FOURTH GENERATION LANGUAGES (4 GL) n n CAN BE EMPLOYED BY END USERS NONPROCEDURAL CAN DEVELOP APPLICATIONS QUICKLY NATURAL LANGUAGES Sheu 14

FOURTH GENERATION LANGUAGES (4 GL) n SIX CATEGORIES 1. Query languages: – rapidly retrieve data; interactive/ on-line; may use NATURAL LANGUAGE; support special requests for data from relational databases 2. Report Generators: – create customized reports; wide range of formats 3. Graphics Generators – can manipulate drawings, graphs, photos, videos; presentation managers 4. Application Generators: – user specifies computer needs; generator creates logic and code for application; greatly reduces development time 5. Very High Level Prog. Languages: – professional programmer productivity tool; uses fewer instructions; reduces development time 6. Software Packages/PC Software tools – Commercially available set of programs…(eg. MS office / Lotus Suite) 15 6. 25 – Integrated suites/ E-mail/Web. Sheu Browser/Groupware

OBJECT-ORIENTED PROGRAMMING n Object: – COMBINES DATA & PROCEDURES INTO A SINGLE OBJECT. n Class: – ALL OBJECTS OF A CLASS HAVE ALL FEATURES OF THAT CLASS n Message: – PROGRAM SENDS MESSAGE TO OBJECT TO PERFORM EMBEDDED PROCEDURE n Encapsulation: – OBJECT’S DATA ENCAPSULATED FROM REST OF SYSTEM n Inheritance: – SPECIFIC CLASS RECEIVES FEATURES OF A MORE GENERAL CLASS n Overriding: – SUBCLASS MAY OVEERRIDE INHERITED METHOD n Visual Programming: (Not all OOP) – SELECT AND ARRANGE OBJECTS RATHER THAN WRITE Code n REDUCES TIME AND COST OF WRITING SOFTWARE Sheu 16

OBJECT-ORIENTED PROGRAMMING JAVA: Sun Microsystems OBJECT-ORIENTED PROGRAMMING LANGUAGE • APPLET: TINY PROGRAM TO EXECUTE SMALL FUNCTION • APPLETS DOWNLOADED FROM NETWORK • RUN ON ANY COMPUTER & OPERATING SYSTEM • RESULT SAVED ON NETWORK, NOT ON PC • ONLY NETWORK VERSION OF SOFTWARE NEEDS UPGRADE Active. X: CONTROLS FOR WINDOWS SOFTWARE ENVIRONMENT to enable OBJECTS: e. g. , CHARTS, TABLES, ANIMATIONS PAGE to be EMBEDDED IN A WEB Sheu 17
- Slides: 17