Title: Chapter 2 Computer Software
1Chapter 2Computer Software
2Software History and Significance
- 1950s Hardware was expensive. Software was less
important and less expensive. - Today software comprises a much larger
percentage of the cost of modern computer systems - The Software Crisis Many software projects are
delivered late, over budget with inferior
quality, and does not meet requirements/expectatio
ns - software applications cant keep up with rapidly
changing business conditions and rapidly evolving
technologies - new applications must be developed quickly, and
existing software must also be maintained (est.
80 effort on maintenance) - more complexity, leads to more bugs
- testing and debugging software is expensive and
takes time
3Software Model A Layered View
4Software Classifications
5System Software
- Programs that control and support the computer
system - Supports application software by directing the
basic functions of the computer - Facilitates programming, testing, and debugging
of computer programs - Usually independent of any specific type of
application
6Operating Systems Functionality
- Common Hardware Functions
- User Interface
- Hardware Independence
- Memory Management
- File Management
- Processing Tasks
- Multitasking and time-sharing
- Networking Capability
- Access to System Resources
- Security
7Major Desktop OS
MS-DOS
Windows 3.xx
Windows 98
Windows 95
Windows NT
Windows 2000
Windows XP
IBMs OS/2
Macintosh Operating System
Linux
UNIX
Java Operating System (JavaOS)
8(No Transcript)
9Windows 3.11
10Windows 95
11Windows XP
12Linux (KDE 3)
13Other Systems Control Program
- (Helps you use the computer)
- Backup software
- Antivirus software
- Uninstaller software
- File handling
- Drivers (for various peripherals)
- Performance monitors
- Security monitors
14Application Software
Direct a computer system to perform specific
information processing activities and provide
functionality for users (lets you do real work)
15(No Transcript)
16Personal Application Software
- An off-the-shelf application program not linked
to any specific business function, but instead
supports general types of processing
Data management
Spreadsheet
Word processing
Desktop publishing
Publishing
Communications
Graphics
Multimedia
Speech recognition software
GroupWare
17Software Suites
- Collections of application software packages that
integrate the functions of the packages - Examples Microsoft Office, Star Office, Corel
Word Perfect Office, and Lotus SmartSuite - Generally include spreadsheet, word processor,
database, and graphics package - Ability to move data and diagrams among
individual application
18Enterprise Application Software
19Supply Chain Management
20Enterprise Resource Planning Vendors
- 25.1 SAP
- 7.0 Oracle (trying to buy PeopleSoft)
- 6.5 PeopleSoft
- ?? JD Edwards (bought by PeopleSoft)
- 5.4 Sage
- 4.9 Microsoft
- 51.1 Other
- Total revenue in 2002 5 billion, down from 5.5
billion - Source Gartner Dataquest (June 2003)
http//www4.gartner.com/5_about/press_releases/pr1
8june2003a.jsp
21Problems with ERP
- Very complex systems
- Require changes to all/most parts of the
organization - Very long implementation process
- 12-24 months
- Systems require customization
- Customizations may make it difficult to upgrade
- Difficult to move to different vendor
- Customization experts in short supply
- More info http//www.du.edu/atanner/whatiserp.ht
m
22Programming Languages
- Different languages for different purposes
- Tradeoff between easy to program
(programmer-friendly) vs. Efficiency in execution
(computer-friendly)
23Example Assembly Language (2GL)
- SUB AX, CX
- LP ADD AX, BX
- ADD BX, 2
- CMP DX, BX
- JNS LP
- Mnemonics
- Need to know how the CPU works
- Typically no OS
- Still in use where speed is very important
often embedded systems
24Procedural Language (Pascal), 3GL
- Program MyAddition
- Var
- a, b, c int
- Begin
- Writeln (This is fun)
- a2 b5
- While altb do begin
- a a 1
- end
- c a b
- Writeln (a,,b,,c)
- End.
- Sequence
- Conditions
- Loops
- Procedures/functions
- Other 3GL Languages
- C, COBOL, Fortran, ...
254GL Non-procedural (SQL)
- Stating an outcome
- SELECT (Customer_Name and Customer_Address)
- FROM Customer_Table
- WHERE Credit_Limit gt 5000
- Other languages state facts and rules
- Fact 1 Jane is Alans Mother
- Fact 2 Mary is Janes sister
- Rule 1 An aunt is the sister of ones mother or
the sister of ones father - Inference engine Is Mary Alans aunt?
- Languages
- PL/1, Lisp, SQL
26Programming Languages (continued )
- Visual Programming Languages
- used within a graphical environment
- example Visual Basic and Visual C
- popular with non technical users
- Hypertext Markup Language (HTML)
- standard language used in World Wide Web
- Plain text file describes page layout, references
other files to be displayed (images, audio,
video, and executable computer programs) - Example!
27Programming Languages (continued )
- Object-Oriented Programming Languages (OOP)
- Objects model real-world phenomena by combining
data and instructions - Java, C, Eiffel, Smalltalk
28Object Oriented Programs
- Inheritance
- Instantiation
- Class -gt Object
- Communication
29Message Passing in Objects
30Reusable Code in Object-Oriented Programming
31How an Interpreter Works
32How a Compiler Works
33Coming up...
- Need more detail?
- Go to www.howstuffworks.com and check out the
Computer section. - Thursday
- Due Lab 3
- Tuesday
- Networks (Internet, Intranet, Extranet, )
- Stair, Chapter 4