WHAT IS SOFTWARE?

Download Report

Transcript WHAT IS SOFTWARE?

6
MANAGING
SOFTWARE
ASSETS
6.1
Prof Jess Role @ UEAB 2010
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
*
© 2008 by Prentice Hall
6.2
Prof Jess Role @ UEAB 2010
MANAGEMENT CHALLENGES
•
•
•
•
WHAT IS SOFTWARE?
SYSTEM SOFTWARE
APPLICATION SOFTWARE
CONTEMPORARY TOOLS FOR
SOFTWARE DEVELOPMENT
• MANAGING SOFTWARE
ASSETS
*
6.3
Prof Jess Role @ UEAB 2010
MANAGEMENT CHALLENGES
1. INCREASING COMPLEXITY &
SOFTWARE ERRORS
2. THE APPLICATION BACKLOG
*
6.4
Prof Jess Role @ UEAB 2010
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
Prof Jess Role @ UEAB 2010
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
ASSEMBLY LANGUAGE; FORTRAN;
COBOL; PL / 1; QBASIC; PASCAL; C; C++;
FOURTH GENERATION LANGUAGES
6.6
Prof Jess Role @ UEAB 2010
MULTIPROGRAMMING
6.7
PROGRAM 1
UNUSED MEMORY
Prof Jess Role @ UEAB 2010
MULTIPROGRAMMING
ENVIRONMENT
OPERATING SYSTEM
OPERATING SYSTEM
TRADITIONAL SINGLEPROGRAM SYSTEM
PROGRAM 1
PROGRAM 2
PROGRAM 3
UNUSED MEMORY
MULTITASKING
MULTIPROGRAMMING ON A SINGLEUSER SYSTEM SUCH AS A
MICROCOMPUTER
*
6.8
Prof Jess Role @ UEAB 2010
MULTITHREADING
ABILITY TO EXECUTE DIFFERENT
PARTS (THREADS) OF A PROGRAM
SIMULTANEOUSLY
*
6.9
Prof Jess Role @ UEAB 2010
VIRTUAL STORAGE
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
*
6.10
Prof Jess Role @ UEAB 2010
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
• USER’S JOB SWAPPED
OUT
AT END OF SLICE
*
6.11
Prof Jess Role @ UEAB 2010
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
Prof Jess Role @ UEAB 2010
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
Prof Jess Role @ UEAB 2010
COMPILER
UTILITY PROGRAMS
PERFORM ROUTINE
TASKS
OBJECT CODE
LINKAGE
EDITOR
LOAD MODULE
6.14
Prof Jess Role @ UEAB 2010
OTHER OBJECT
CODE MODULES
TRANSLATION PROCESS
SOURCE CODE
PROGRAM
GRAPHICAL USER INTERFACE (GUI)
OPERATING SYSTEM USES:
• GRAPHIC ICONS: Icons, buttons,
bars, boxes
• POINTER: Mouse, pen, touch screen
TO ISSUE COMMANDS
MAKE SELECTIONS
*
6.15
Prof Jess Role @ UEAB 2010
MICROCOMPUTER OPERATING SYSTEMS
OPERATING SYSTEM
FEATURES
Windows
98 & 95
32-bit operating system, GUI, multitasking,
networking
Windows NT
Me & 2000
32-bit operating system not limited to Intel chips.
Multitasking, multiprocessing, networking
Windows CE
Paired-down for handheld computers, wireless
communication devices
OS/2
6.16
32-bit. Developed for IBM PS/2. Multitasking,
networking
Prof Jess Role @ UEAB 2010
MICROCOMPUTER OPERATING SYSTEMS
OPERATING SYSTEM
6.17
FEATURES
Unix
For powerful microcomputers, workstations,
minicomputers. Multitasking, multi-user
processing, networking. Portable to various
computer platforms
Linux
Free, reliable alternative to Unix, Windows.
Runs on many Platforms. Open-source
Mac OS
For Macintosh computers. Multitasking.
Powerful graphics, multimedia
DOS
For IBM (PC-DOS) and PC (MS-DOS).
Program memory: 640K
Prof Jess Role @ UEAB 2010
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
Prof Jess Role @ UEAB 2010
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
Prof Jess Role @ UEAB 2010
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
Prof Jess Role @ UEAB 2010
FOURTH GENERATION LANGUAGES (4GL)
• CAN BE EMPLOYED BY END USERS
• NONPROCEDURAL
• CAN DEVELOP APPLICATIONS
QUICKLY
• NATURAL LANGUAGES
• SIX CATEGORIES
*
6.21
Prof Jess Role @ UEAB 2010
FOURTH GENERATION LANGUAGES (4GL)
1. QUERY LANGUAGES:
• Rapidly retrieve data
• Interactive/ on-line
• May use NATURAL LANGUAGE
• Support special requests for
data from relational
databases
*
6.22
Prof Jess Role @ UEAB 2010
FOURTH GENERATION LANGUAGES (4GL)
2. REPORT GENERATORS:
• Create customized reports
• Wide range of formats
3. GRAPHICS LANGUAGES:
• Can manipulate drawings,
graphs, photos, videos
• Presentation managers
*
6.23
Prof Jess Role @ UEAB 2010
FOURTH GENERATION LANGUAGES (4GL)
4. APPLICATION GENERATORS:
• User specifies computer needs
• Generator creates logic and code for
application
• Greatly reduces development time
*
6.24
Prof Jess Role @ UEAB 2010
FOURTH GENERATION LANGUAGES (4GL)
5. VERY HIGH-LEVEL PROGRAMMING
LANGUAGES:
• Professional programmer productivity tool
• Uses fewer instructions
• Reduces development time
*
6.25
Prof Jess Role @ UEAB 2010
FOURTH GENERATION LANGUAGES (4GL)
7. SOFTWARE PACKAGE: Commercially
available set of programs...
• WORD PROCESSING
• SPREADSHEETS
• DATA MANAGEMENT
• PRESENTATION MANAGEMENT
INTEGRATED SOFTWARE PACKAGES
NOW COMBINE THESE TO
SIMPLIFY LEARNING AND USE
*
6.26
Prof Jess Role @ UEAB 2010
SOFTWARE TOOLS
•
•
•
•
•
•
•
•
6.27
WORD PROCESSING
SPREADSHEETS
DATA MANAGEMENT
PRESENTATION GRAPHICS
INTEGRATED SOFTWARE SUITES
E-MAIL
WEB BROWSERS
GROUPWARE
*
Prof Jess Role @ UEAB 2010
GROUPWARE CAPABILITIES
• GROUP WRITING & COMMENTING
• ELECTRONIC MAIL DISTRIBUTION
• SCHEDULING MEETINGS &
APPOINTMENTS
• SHARED FILES & DATABASES
• SHARED TIME LINES & PLANS
• ELECTRONIC MEETINGS &
CONFERENCES
*
6.28
Prof Jess Role @ UEAB 2010
MIDDLEWARE
SOFTWARE ALLOWS DIFFERENT
APPLICATIONS TO EXCHANGE DATA
*
APPLICATION
A
APPLICATION
B
DATA
MIDDLE
WARE
6.29
Prof Jess Role @ UEAB 2010
OBJECT-ORIENTED
PROGRAMMING
• COMBINES DATA & PROCEDURES INTO
A SINGLE OBJECT
• PROGRAM SENDS MESSAGE TO OBJECT
TO PERFORM EMBEDDED PROCEDURE
• OBJECT’S DATA ENCAPSULATED FROM
REST OF SYSTEM
• CREATES REUSABLE CODE
• REDUCES TIME AND COST OF WRITING
SOFTWARE
*
6.30
Prof Jess Role @ UEAB 2010
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
Prof Jess Role @ UEAB 2010
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
Prof Jess Role @ UEAB 2010
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
Prof Jess Role @ UEAB 2010
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
Prof Jess Role @ UEAB 2010
MANAGING SOFTWARE ASSETS
• RENT OR BUILD DECISIONS
• APPLICATION SERVICE
PROVIDERS
• SOFTWARE
MAINTENANCE
*
6.35
Prof Jess Role @ UEAB 2010
SELECTING ORGANIZATIONAL SOFTWARE
•
•
•
•
6.36
APPROPRIATENESS
EFFICIENCY
COMPATIBILITY
SUPPORT
*
Prof Jess Role @ UEAB 2010
MANAGING
SOFTWARE
ASSETS
6.37
Prof Jess Role @ UEAB 2010