0
6 MANAGING  SOFTWARE ASSETS c  h  a  p  t  e  r
<ul><li>DESCRIBE MAJOR TYPES OF SOFTWARE </li></ul><ul><li>EXAMINE SYSTEM SOFTWARE & OPERATING SYSTEMS </li></ul><ul><li>E...
MANAGEMENT CHALLENGES <ul><li>WHAT IS SOFTWARE? </li></ul><ul><li>SYSTEM SOFTWARE </li></ul><ul><li>APPLICATION SOFTWARE <...
MANAGEMENT CHALLENGES <ul><li>1. INCREASING COMPLEXITY & SOFTWARE ERRORS </li></ul><ul><li>2. THE APPLICATION BACKLOG </li...
<ul><li>DETAILED INSTRUCTIONS TO CONTROL COMPUTER OPERATION </li></ul><ul><li>PROGRAM:   SET OF INSTRUCTIONS TO THE COMPUT...
SOFTWARE PROGRAMMING LANGUAGES:   ASSEMBLY LANGUAGE; FORTRAN;  COBOL; PL / 1; QBASIC; PASCAL; C; C++;  FOURTH GENERATION L...
MULTIPROGRAMMING OPERATING SYSTEM UNUSED MEMORY PROGRAM 1 TRADITIONAL SINGLE-PROGRAM SYSTEM OPERATING SYSTEM UNUSED MEMORY...
MULTITASKING <ul><li>MULTIPROGRAMMING ON A SINGLE-USER SYSTEM SUCH AS A MICROCOMPUTER </li></ul><ul><li>* </li></ul>
MULTITHREADING <ul><li>ABILITY TO EXECUTE DIFFERENT PARTS (THREADS) OF A PROGRAM SIMULTANEOUSLY </li></ul><ul><li>* </li><...
VIRTUAL  STORAGE <ul><li>METHOD OF HANDLING SEVERAL PROGRAMS IN PRIMARY STORAGE: </li></ul><ul><li>PROGRAM DIVIDED INTO </...
TIME SHARING <ul><li>MANY USERS SHARE LARGE CPU: </li></ul><ul><li>TIME IN CPU DIVIDED INTO SLICES (e.g.: 2 MICROSECONDS) ...
MULTIPROCESSING <ul><li>TWO OR MORE PARALLEL PROCESSORS IN SYSTEM </li></ul><ul><li>PROGRAM CAN BE DIVIDED  TO BE PROCESSE...
<ul><li>SOURCE CODE:   HIGH-LEVEL LANGUAGE INSTRUCTIONS </li></ul><ul><li>COMPILER:   TRANSLATES HIGH-LEVEL CODE INTO MACH...
TRANSLATION PROCESS SOURCE CODE PROGRAM COMPILER OBJECT  CODE LINKAGE EDITOR LOAD MODULE OTHER OBJECT  CODE MODULES UTILIT...
GRAPHICAL USER INTERFACE (GUI) <ul><li>OPERATING SYSTEM USES: </li></ul><ul><li>GRAPHIC ICONS:  Icons, buttons, bars, boxe...
MICROCOMPUTER OPERATING SYSTEMS OPERATING SYSTEM FEATURES 32-bit operating system, GUI, multitasking,  networking 32-bit o...
OPERATING SYSTEM Mac OS For Macintosh computers. Multitasking.  Powerful graphics, multimedia Unix For powerful microcompu...
GENERATIONS OF PROGRAMMING LANGUAGES <ul><li>1st.  Since 1940s.  MACHINE LANGUAGE:   binary code </li></ul><ul><li>2nd.  S...
HIGH-LEVEL LANGUAGES <ul><li>FORTRAN  ( FOR mula  TRAN slator) :  Scientific, Engineering applications </li></ul><ul><li>C...
HIGH-LEVEL LANGUAGES <ul><li>PASCAL:   Used to teach structured programming practices. Weak in file handling, input / outp...
FOURTH GENERATION LANGUAGES  (4GL) <ul><li>CAN BE EMPLOYED BY END USERS </li></ul><ul><li>NONPROCEDURAL </li></ul><ul><li>...
FOURTH GENERATION LANGUAGES  (4GL) <ul><li>1. QUERY LANGUAGES: </li></ul><ul><li>Rapidly retrieve data </li></ul><ul><li>I...
FOURTH GENERATION LANGUAGES (4GL) <ul><li>2. REPORT GENERATORS: </li></ul><ul><li>Create customized reports </li></ul><ul>...
FOURTH GENERATION LANGUAGES (4GL) <ul><li>4. APPLICATION GENERATORS: </li></ul><ul><li>User specifies computer needs </li>...
FOURTH GENERATION LANGUAGES  (4GL) <ul><li>5. VERY HIGH-LEVEL PROGRAMMING LANGUAGES: </li></ul><ul><li>Professional progra...
FOURTH GENERATION LANGUAGES  (4GL) <ul><li>7. SOFTWARE PACKAGE:   Commercially available set of programs... </li></ul><ul>...
SOFTWARE TOOLS <ul><li>WORD PROCESSING </li></ul><ul><li>SPREADSHEETS </li></ul><ul><li>DATA MANAGEMENT </li></ul><ul><li>...
GROUPWARE CAPABILITIES <ul><li>GROUP WRITING & COMMENTING </li></ul><ul><li>ELECTRONIC MAIL DISTRIBUTION </li></ul><ul><li...
MIDDLEWARE <ul><li>SOFTWARE ALLOWS DIFFERENT APPLICATIONS TO EXCHANGE DATA </li></ul><ul><li>* </li></ul>APPLICATION A APP...
OBJECT-ORIENTED PROGRAMMING <ul><li>COMBINES DATA & PROCEDURES INTO A SINGLE  OBJECT </li></ul><ul><li>PROGRAM SENDS MESSA...
OBJECT-ORIENTED PROGRAMMING <ul><li>VISUAL PROGRAMMING:   SELECT AND ARRANGE OBJECTS RATHER THAN WRITE CODE </li></ul><ul>...
OBJECT-ORIENTED PROGRAMMING <ul><li>JAVA:   Sun Microsystems OBJECT-ORIENTED PROGRAMMING LANGUAGE </li></ul><ul><li>APPLET...
OBJECT-ORIENTED PROGRAMMING <ul><li>HTML:  Hypertext markup language, current favorite for Web pages </li></ul><ul><li>XML...
OBJECT-ORIENTED PROGRAMMING <ul><li>ActiveX:   Controls for Windows software environment to enable  OBJECTS : e.g., </li><...
MANAGING  SOFTWARE  ASSETS <ul><li>RENT OR BUILD DECISIONS </li></ul><ul><li>APPLICATION SERVICE  PROVIDERS </li></ul><ul>...
SELECTING ORGANIZATIONAL SOFTWARE <ul><li>APPROPRIATENESS </li></ul><ul><li>EFFICIENCY </li></ul><ul><li>COMPATIBILITY </l...
6 MANAGING SOFTWARE ASSETS c  h  a  p  t  e  r
Upcoming SlideShare
Loading in...5
×

Chapter 6

377

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
377
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Chapter 6"

  1. 1. 6 MANAGING SOFTWARE ASSETS c h a p t e r
  2. 2. <ul><li>DESCRIBE MAJOR TYPES OF SOFTWARE </li></ul><ul><li>EXAMINE SYSTEM SOFTWARE & OPERATING SYSTEMS </li></ul><ul><li>EXAMINE APPLICATION LANGUAGES & SOFTWARE TOOLS </li></ul><ul><li>DESCRIBE APPROACHES TO SOFTWARE DEVELOPMENT </li></ul><ul><li>IDENTIFY SOFTWARE ISSUES </li></ul><ul><li>* </li></ul>LEARNING OBJECTIVES © 2002 by Prentice Hall
  3. 3. MANAGEMENT CHALLENGES <ul><li>WHAT IS SOFTWARE? </li></ul><ul><li>SYSTEM SOFTWARE </li></ul><ul><li>APPLICATION SOFTWARE </li></ul><ul><li>CONTEMPORARY TOOLS FOR SOFTWARE DEVELOPMENT </li></ul><ul><li>MANAGING SOFTWARE ASSETS </li></ul><ul><li>* </li></ul>
  4. 4. MANAGEMENT CHALLENGES <ul><li>1. INCREASING COMPLEXITY & SOFTWARE ERRORS </li></ul><ul><li>2. THE APPLICATION BACKLOG </li></ul><ul><li>* </li></ul>
  5. 5. <ul><li>DETAILED INSTRUCTIONS TO CONTROL COMPUTER OPERATION </li></ul><ul><li>PROGRAM: SET OF INSTRUCTIONS TO THE COMPUTER </li></ul><ul><li>STORED: PROGRAM MUST BE IN PRIMARY STORAGE </li></ul><ul><li>SYSTEM SOFTWARE: MANAGES COMPUTER RESOURCES </li></ul><ul><li>APPLICATION SOFTWARE: SPECIFIC BUSINESS APPLICATION </li></ul><ul><li>* </li></ul>SOFTWARE
  6. 6. SOFTWARE PROGRAMMING LANGUAGES: ASSEMBLY LANGUAGE; FORTRAN; COBOL; PL / 1; QBASIC; PASCAL; C; C++; FOURTH GENERATION LANGUAGES <ul><li>OPERATING SYSTEM: </li></ul><ul><li>SCHEDULED COMPUTER EVENTS </li></ul><ul><li>ALLOCATES COMPUTER RESOURCES MONITORS EVENTS </li></ul><ul><li>LANGUAGE TRANSLATORS: </li></ul><ul><li>INTERPRETERS </li></ul><ul><li>COMPILERS </li></ul><ul><li>UTILITY PROGRAMS: </li></ul><ul><li>ROUTINE OPERATIONSMANAGE DATA </li></ul>HARDWARE SYSTEM SOFTWARE APPLICATION SOFTWARE
  7. 7. MULTIPROGRAMMING OPERATING SYSTEM UNUSED MEMORY PROGRAM 1 TRADITIONAL SINGLE-PROGRAM SYSTEM OPERATING SYSTEM UNUSED MEMORY PROGRAM 1 PROGRAM 2 PROGRAM 3 MULTIPROGRAMMING ENVIRONMENT
  8. 8. MULTITASKING <ul><li>MULTIPROGRAMMING ON A SINGLE-USER SYSTEM SUCH AS A MICROCOMPUTER </li></ul><ul><li>* </li></ul>
  9. 9. MULTITHREADING <ul><li>ABILITY TO EXECUTE DIFFERENT PARTS (THREADS) OF A PROGRAM SIMULTANEOUSLY </li></ul><ul><li>* </li></ul>
  10. 10. VIRTUAL STORAGE <ul><li>METHOD OF HANDLING SEVERAL PROGRAMS IN PRIMARY STORAGE: </li></ul><ul><li>PROGRAM DIVIDED INTO </li></ul><ul><ul><li>FIXED LENGTH PORTIONS (PAGES) OR </li></ul></ul><ul><ul><li>VARIABLE LENGTH (SEGMENTS) </li></ul></ul><ul><li>CURRENT PORTIONS RESIDE IN PRIMARY STORAGE </li></ul><ul><li>PORTIONS SWAPPED OUT WHEN DONE </li></ul><ul><li>* </li></ul>
  11. 11. TIME SHARING <ul><li>MANY USERS SHARE LARGE CPU: </li></ul><ul><li>TIME IN CPU DIVIDED INTO SLICES (e.g.: 2 MICROSECONDS) </li></ul><ul><li>EACH USER HAS ACCESS TO CPU DURING SLICE </li></ul><ul><li>SINCE CPU IS FAST, CAN DO MUCH DURING TIME SLICE </li></ul><ul><li>USER’S JOB SWAPPED OUT AT END OF SLICE </li></ul><ul><li>* </li></ul>
  12. 12. MULTIPROCESSING <ul><li>TWO OR MORE PARALLEL PROCESSORS IN SYSTEM </li></ul><ul><li>PROGRAM CAN BE DIVIDED TO BE PROCESSED BY MULTIPLE CPUs </li></ul><ul><li>CAN PROCESS LARGE PROGRAMS MORE RAPIDLY </li></ul><ul><li>* </li></ul>
  13. 13. <ul><li>SOURCE CODE: HIGH-LEVEL LANGUAGE INSTRUCTIONS </li></ul><ul><li>COMPILER: TRANSLATES HIGH-LEVEL CODE INTO MACHINE LANGUAGE </li></ul><ul><li>OBJECT CODE: TRANSLATED INSTRUCTIONS READY FOR COMPUTER </li></ul><ul><li>* </li></ul>LANGUAGE TRANSLATION
  14. 14. TRANSLATION PROCESS SOURCE CODE PROGRAM COMPILER OBJECT CODE LINKAGE EDITOR LOAD MODULE OTHER OBJECT CODE MODULES UTILITY PROGRAMS PERFORM ROUTINE TASKS
  15. 15. GRAPHICAL USER INTERFACE (GUI) <ul><li>OPERATING SYSTEM USES: </li></ul><ul><li>GRAPHIC ICONS: Icons, buttons, bars, boxes </li></ul><ul><li>POINTER: Mouse, pen, touch screen </li></ul><ul><li>TO ISSUE COMMANDS </li></ul><ul><li>MAKE SELECTIONS </li></ul><ul><li>* </li></ul>
  16. 16. MICROCOMPUTER OPERATING SYSTEMS OPERATING SYSTEM FEATURES 32-bit operating system, GUI, multitasking, networking 32-bit operating system not limited to Intel chips. Multitasking, multiprocessing, networking 32-bit. Developed for IBM PS/2. Multitasking, networking Paired-down for handheld computers, wireless communication devices Windows 98 & 95 Windows NT Me & 2000 Windows CE OS/2
  17. 17. OPERATING SYSTEM Mac OS For Macintosh computers. Multitasking. Powerful graphics, multimedia Unix For powerful microcomputers, workstations, minicomputers. Multitasking, multi-user processing, networking. Portable to various computer platforms DOS For IBM (PC-DOS) and PC (MS-DOS). Program memory: 640K Linux Free, reliable alternative to Unix, Windows. Runs on many Platforms. Open-source FEATURES MICROCOMPUTER OPERATING SYSTEMS
  18. 18. GENERATIONS OF PROGRAMMING LANGUAGES <ul><li>1st. Since 1940s. MACHINE LANGUAGE: binary code </li></ul><ul><li>2nd. Since early ’50s. ASSEMBLY LANGUAGE: mnemonics for numeric code </li></ul><ul><li>3rd. Since mid ‘50s. HIGH-LEVEL LANGUAGES </li></ul><ul><li>4th. Since late ‘70s. MODERN APPLICATION PACKAGES </li></ul><ul><li>* </li></ul>
  19. 19. HIGH-LEVEL LANGUAGES <ul><li>FORTRAN ( FOR mula TRAN slator) : Scientific, Engineering applications </li></ul><ul><li>COBOL ( CO mmon B usiness O riented L anguage) : Predominant for transaction processing </li></ul><ul><li>BASIC ( B eginners A ll-purpose S ymbolic I nstruction C ode) : General purpose PC language </li></ul><ul><li>* </li></ul>
  20. 20. HIGH-LEVEL LANGUAGES <ul><li>PASCAL: Used to teach structured programming practices. Weak in file handling, input / output </li></ul><ul><li>C and C++: Powerful PC Language for developing applications. Efficient execution; cross platform. C++ is object oriented </li></ul><ul><li>* </li></ul>
  21. 21. FOURTH GENERATION LANGUAGES (4GL) <ul><li>CAN BE EMPLOYED BY END USERS </li></ul><ul><li>NONPROCEDURAL </li></ul><ul><li>CAN DEVELOP APPLICATIONS QUICKLY </li></ul><ul><li>NATURAL LANGUAGES </li></ul><ul><li>SIX CATEGORIES </li></ul><ul><li>* </li></ul>
  22. 22. FOURTH GENERATION LANGUAGES (4GL) <ul><li>1. QUERY LANGUAGES: </li></ul><ul><li>Rapidly retrieve data </li></ul><ul><li>Interactive/ on-line </li></ul><ul><li>May use NATURAL LANGUAGE </li></ul><ul><li>Support special requests for data from relational databases </li></ul><ul><li>* </li></ul>
  23. 23. FOURTH GENERATION LANGUAGES (4GL) <ul><li>2. REPORT GENERATORS: </li></ul><ul><li>Create customized reports </li></ul><ul><li>Wide range of formats </li></ul><ul><li>3. GRAPHICS LANGUAGES: </li></ul><ul><li>Can manipulate drawings, graphs, photos, videos </li></ul><ul><li>Presentation managers </li></ul><ul><li>* </li></ul>
  24. 24. FOURTH GENERATION LANGUAGES (4GL) <ul><li>4. APPLICATION GENERATORS: </li></ul><ul><li>User specifies computer needs </li></ul><ul><li>Generator creates logic and code for application </li></ul><ul><li>Greatly reduces development time </li></ul><ul><li>* </li></ul>
  25. 25. FOURTH GENERATION LANGUAGES (4GL) <ul><li>5. VERY HIGH-LEVEL PROGRAMMING LANGUAGES: </li></ul><ul><li>Professional programmer productivity tool </li></ul><ul><li>Uses fewer instructions </li></ul><ul><li>Reduces development time </li></ul><ul><li>* </li></ul>
  26. 26. FOURTH GENERATION LANGUAGES (4GL) <ul><li>7. SOFTWARE PACKAGE: Commercially available set of programs... </li></ul><ul><li>WORD PROCESSING </li></ul><ul><li>SPREADSHEETS </li></ul><ul><li>DATA MANAGEMENT </li></ul><ul><li>PRESENTATION MANAGEMENT </li></ul><ul><li>INTEGRATED SOFTWARE PACKAGES NOW COMBINE THESE TO SIMPLIFY LEARNING AND USE </li></ul><ul><li>* </li></ul>
  27. 27. SOFTWARE TOOLS <ul><li>WORD PROCESSING </li></ul><ul><li>SPREADSHEETS </li></ul><ul><li>DATA MANAGEMENT </li></ul><ul><li>PRESENTATION GRAPHICS </li></ul><ul><li>INTEGRATED SOFTWARE SUITES </li></ul><ul><li>E-MAIL </li></ul><ul><li>WEB BROWSERS </li></ul><ul><li>GROUPWARE </li></ul><ul><li>* </li></ul>
  28. 28. GROUPWARE CAPABILITIES <ul><li>GROUP WRITING & COMMENTING </li></ul><ul><li>ELECTRONIC MAIL DISTRIBUTION </li></ul><ul><li>SCHEDULING MEETINGS & APPOINTMENTS </li></ul><ul><li>SHARED FILES & DATABASES </li></ul><ul><li>SHARED TIME LINES & PLANS </li></ul><ul><li>ELECTRONIC MEETINGS & CONFERENCES </li></ul><ul><li>* </li></ul>
  29. 29. MIDDLEWARE <ul><li>SOFTWARE ALLOWS DIFFERENT APPLICATIONS TO EXCHANGE DATA </li></ul><ul><li>* </li></ul>APPLICATION A APPLICATION B MIDDLE WARE DATA
  30. 30. OBJECT-ORIENTED PROGRAMMING <ul><li>COMBINES DATA & PROCEDURES INTO A SINGLE OBJECT </li></ul><ul><li>PROGRAM SENDS MESSAGE TO OBJECT TO PERFORM EMBEDDED PROCEDURE </li></ul><ul><li>OBJECT’S DATA ENCAPSULATED FROM REST OF SYSTEM </li></ul><ul><li>CREATES REUSABLE CODE </li></ul><ul><li>REDUCES TIME AND COST OF WRITING SOFTWARE </li></ul><ul><li>* </li></ul>
  31. 31. OBJECT-ORIENTED PROGRAMMING <ul><li>VISUAL PROGRAMMING: SELECT AND ARRANGE OBJECTS RATHER THAN WRITE CODE </li></ul><ul><li>CLASS: ALL OBJECTS OF A CLASS HAVE ALL FEATURES OF THAT CLASS </li></ul><ul><li>INHERITANCE: SPECIFIC CLASS RECEIVES FEATURES OF A MORE GENERAL CLASS </li></ul><ul><li>OVERRIDE: SUBCLASS MAY OVERRIDE INHERITED METHOD (e.g.: Printout of an HOURLY worker pay check may differ from that of a WEEKLY worker </li></ul><ul><li>* </li></ul>
  32. 32. OBJECT-ORIENTED PROGRAMMING <ul><li>JAVA: Sun Microsystems OBJECT-ORIENTED PROGRAMMING LANGUAGE </li></ul><ul><li>APPLET: TINY PROGRAM TO EXECUTE SMALL FUNCTION </li></ul><ul><li>APPLETS DOWNLOADED FROM NETWORK </li></ul><ul><li>RUN ON ANY COMPUTER & OPERATING SYSTEM </li></ul><ul><li>RESULT SAVED ON NETWORK, NOT ON PC </li></ul><ul><li>ONLY NETWORK VERSION OF SOFTWARE NEEDS UPGRADE </li></ul><ul><li>* </li></ul>
  33. 33. OBJECT-ORIENTED PROGRAMMING <ul><li>HTML: Hypertext markup language, current favorite for Web pages </li></ul><ul><li>XML: e X tensible M arkup L anguage, further development of HTML describes data more fully </li></ul><ul><li>XHTML: Hybrid may replace HTML as standard for Web </li></ul><ul><li>* </li></ul>
  34. 34. OBJECT-ORIENTED PROGRAMMING <ul><li>ActiveX: Controls for Windows software environment to enable OBJECTS : e.g., </li></ul><ul><li>CHARTS </li></ul><ul><li>TABLES </li></ul><ul><li>ANIMATIONS </li></ul><ul><li>to be EMBEDDED IN A WEB PAGE </li></ul><ul><li>* </li></ul>
  35. 35. MANAGING SOFTWARE ASSETS <ul><li>RENT OR BUILD DECISIONS </li></ul><ul><li>APPLICATION SERVICE PROVIDERS </li></ul><ul><li>SOFTWARE MAINTENANCE </li></ul><ul><li>* </li></ul>
  36. 36. SELECTING ORGANIZATIONAL SOFTWARE <ul><li>APPROPRIATENESS </li></ul><ul><li>EFFICIENCY </li></ul><ul><li>COMPATIBILITY </li></ul><ul><li>SUPPORT </li></ul><ul><li>* </li></ul>
  37. 37. 6 MANAGING SOFTWARE ASSETS c h a p t e r
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×