Академический Документы
Профессиональный Документы
Культура Документы
MANAGING
SOFTWARE
ASSETS
6.1
LEARNING OBJECTIVES
DESCRIBE MAJOR TYPES OF SOFTWARE
EXAMINE SYSTEM SOFTWARE &
OPERATING SYSTEMS
EXAMINE APPLICATION LANGUAGES &
SOFTWARE TOOLS
DESCRIBE APPROACHES TO SOFTWARE
DEVELOPMENT
IDENTIFY SOFTWARE ISSUES
*
6.2
MANAGEMENT CHALLENGES
WHAT IS SOFTWARE?
SYSTEM SOFTWARE
APPLICATION SOFTWARE
CONTEMPORARY TOOLS FOR
SOFTWARE DEVELOPMENT
MANAGING SOFTWARE ASSETS
*
6.3
MANAGEMENT CHALLENGES
1. INCREASING COMPLEXITY &
SOFTWARE ERRORS
2. THE APPLICATION BACKLOG
*
6.4
SOFTWARE
DETAILED INSTRUCTIONS TO CONTROL COMPUTER
OPERATION
PROGRAM: SET OF INSTRUCTIONS TO THE
COMPUTER
STORED: PROGRAM MUST BE IN PRIMARY STORAGE
SYSTEM SOFTWARE: MANAGES COMPUTER
RESOURCES
APPLICATION SOFTWARE: SPECIFIC BUSINESS
APPLICATION
*
6.5
SOFTWARE
APPLICATION SOFTWARE
SYSTEM SOFTWARE
HARDWARE
OPERATING SYSTEM:
SCHEDULED COMPUTER
EVENTS
ALLOCATES COMPUTER
RESOURCES MONITORS
EVENTS
LANGUAGE TRANSLATORS:
INTERPRETERS
COMPILERS
PROGRAMMING LANGUAGES:
UTILITY PROGRAMS:
ROUTINE
OPERATIONSMANAGE
DATA
6.6
MULTIPROGRAMMING
6.7
PROGRAM 1
UNUSED MEMORY
MULTIPROGRAMMING
ENVIRONMENT
OPERATING SYSTEM
OPERATING SYSTEM
PROGRAM 1
PROGRAM 2
PROGRAM 3
UNUSED MEMORY
MULTITASKING
MULTIPROGRAMMING ON A SINGLEUSER SYSTEM SUCH AS A
MICROCOMPUTER
*
6.8
MULTITHREADING
ABILITY TO EXECUTE DIFFERENT
PARTS (THREADS) OF A PROGRAM
SIMULTANEOUSLY
*
6.9
VIRTUAL STORAGE
METHOD OF HANDLING SEVERAL PROGRAMS
IN PRIMARY STORAGE:
PROGRAM DIVIDED INTO
FIXED LENGTH PORTIONS (PAGES) OR
VARIABLE LENGTH (SEGMENTS)
6.10
TIME SHARING
MANY USERS SHARE LARGE CPU:
TIME IN CPU DIVIDED INTO SLICES (e.g.: 2
MICROSECONDS)
EACH USER HAS ACCESS TO CPU DURING
SLICE
SINCE CPU IS FAST, CAN DO MUCH DURING
TIME SLICE
USERS JOB SWAPPED OUT AT END OF SLICE
*
6.11
MULTIPROCESSING
TWO OR MORE PARALLEL
PROCESSORS IN SYSTEM
PROGRAM CAN BE DIVIDED TO BE
PROCESSED
BY MULTIPLE CPUs
CAN PROCESS LARGE PROGRAMS
MORE RAPIDLY
*
6.12
LANGUAGE TRANSLATION
SOURCE CODE: HIGH-LEVEL
LANGUAGE INSTRUCTIONS
COMPILER: TRANSLATES HIGH-LEVEL
CODE INTO MACHINE LANGUAGE
OBJECT CODE: TRANSLATED
INSTRUCTIONS READY FOR
COMPUTER
*
6.13
COMPILER
UTILITY PROGRAMS
PERFORM ROUTINE
TASKS
OBJECT CODE
LINKAGE
EDITOR
LOAD MODULE
6.14
OTHER OBJECT
CODE MODULES
TRANSLATION PROCESS
SOURCE CODE
PROGRAM
FEATURES
Windows
98 & 95
Windows
NT Me &
2000
Windows CE
OS/2
6.16
6.17
FEATURES
Unix
Linux
Mac OS
DOS
GENERATIONS OF PROGRAMMING
LANGUAGES
1st. Since 1940s. MACHINE LANGUAGE: binary
code
2nd. Since early 50s. ASSEMBLY LANGUAGE:
mnemonics for numeric code
3rd. Since mid 50s. HIGH-LEVEL LANGUAGES
4th. Since late 70s. MODERN APPLICATION
PACKAGES
*
6.18
HIGH-LEVEL LANGUAGES
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
*
6.19
HIGH-LEVEL LANGUAGES
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. C++ is object
oriented
*
6.20
1. QUERY LANGUAGES:
Rapidly retrieve data
Interactive/ on-line
May use NATURAL LANGUAGE
Support special requests for
data
from relational databases
*
6.22
2. REPORT GENERATORS:
Create customized reports
Wide range of formats
3. GRAPHICS LANGUAGES:
Can manipulate drawings,
photos, videos
Presentation managers
*
6.23
graphs,
6.24
6.25
*
6.26
SOFTWARE TOOLS
6.27
WORD PROCESSING
SPREADSHEETS
DATA MANAGEMENT
PRESENTATION GRAPHICS
INTEGRATED SOFTWARE SUITES
E-MAIL
WEB BROWSERS
GROUPWARE
*
GROUPWARE CAPABILITIES
6.28
MIDDLEWARE
SOFTWARE ALLOWS DIFFERENT
APPLICATIONS TO EXCHANGE DATA
*
APPLICATION A
APPLICATION
B
DATA
MIDDLE
WARE
6.29
OBJECT-ORIENTED
PROGRAMMING
COMBINES DATA & PROCEDURES INTO A
SINGLE OBJECT
PROGRAM SENDS MESSAGE TO OBJECT TO
PERFORM EMBEDDED PROCEDURE
OBJECTS DATA ENCAPSULATED FROM REST
OF SYSTEM
CREATES REUSABLE CODE
REDUCES TIME AND COST OF WRITING
SOFTWARE
*
6.30
OBJECT-ORIENTED
PROGRAMMING
VISUAL PROGRAMMING: SELECT AND ARRANGE
OBJECTS RATHER THAN WRITE CODE
CLASS: ALL OBJECTS OF A CLASS HAVE ALL
FEATURES OF THAT CLASS
INHERITANCE: SPECIFIC CLASS RECEIVES
FEATURES OF A MORE GENERAL CLASS
OVERRIDE: SUBCLASS MAY OVERRIDE INHERITED
METHOD (e.g.: Printout of an HOURLY worker pay
check may differ from that of a WEEKLY worker
*
6.31
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
*
6.32
OBJECT-ORIENTED
PROGRAMMING
HTML: Hypertext markup language,
current favorite for Web pages
XML: eXtensible Markup Language,
further development of HTML
describes data more fully
XHTML: Hybrid may replace HTML as
standard for Web
*
6.33
OBJECT-ORIENTED
PROGRAMMING
ActiveX: Controls for Windows software
environment to enable OBJECTS: e.g.,
CHARTS
TABLES
ANIMATIONS
to be EMBEDDED IN A WEB PAGE
*
6.34
6.35
6.36
APPROPRIATENESS
EFFICIENCY
COMPATIBILITY
SUPPORT
*
c h a p t e r
MANAGING
SOFTWARE
ASSETS
6.37