Software

advertisement
Chapter 2
Computer Software
MIS 311
Jakob Iversen
1
Software History and
Significance



1950’s: 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/expectations
•
•
•
•
software applications can’t 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
2
Software Model: A Layered View
3
Software Classifications
4
System 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
5
Operating Systems Functionality





Common Hardware
Functions
User Interface
Hardware Independence
Memory Management
File Management



Processing Tasks
•
Multitasking and timesharing
Networking Capability
Access to System
Resources
•
Security
6
Major Desktop OS
MS-DOS
Windows 3.xx
Windows 98
Windows 95
Windows NT
Windows 2000
Windows XP
IBM’s OS/2
Macintosh Operating System
UNIX
Linux
Java Operating System (JavaOS)
7
8
9
Windows 3.11
10
Windows 95
11
Windows XP
Linux (KDE 3)
12
Other Systems Control Program








(Helps you use the computer)
Backup software
Antivirus software
Uninstaller software
File handling
Drivers (for various peripherals)
Performance monitors
Security monitors
13
Application Software
Direct a computer system to
perform specific information
processing activities and
provide functionality for users
(lets you do real work)
14
15
Personal 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
Desktop publishing
Graphics
Publishing
Multimedia
Speech recognition software
Word processing
Communications
GroupWare
16
Software 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
17
Enterprise Application Software
18
Supply Chain Management
19
Enterprise 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/pr18june2003
a.jsp






20
Problems 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.htm
21
… ..
Programming Languages ……


Different languages for different purposes
Tradeoff between easy to program (programmerfriendly) vs. Efficiency in execution (computer-friendly)
22
Example: Assembly Language
(2GL)
LP:
SUB AX, CX
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
23
Procedural Language (Pascal), 3GL
Program MyAddition;

Sequence
Conditions
Loops
Procedures/functions

Other 3GL Languages

Var
a, b, c: int;


Begin
Writeln (This is fun’);
a:=2; b:=5;
While a<b do begin
a := a + 1;
end;
c := a + b;
Writeln (a,’+’,b,’=’,c);
End.
•
C, COBOL, Fortran, ...
24
4GL: Non-procedural (SQL)

Stating an outcome:
SELECT (Customer_Name and Customer_Address)
FROM Customer_Table
WHERE Credit_Limit > 5000

Other languages state facts and rules
Fact 1: Jane is Alan’s Mother
Fact 2: Mary is Jane’s sister
Rule 1: An aunt is the sister of one’s mother or the sister of one’s
father
•

Inference engine: Is Mary Alan’s aunt?
Languages
•
PL/1, Lisp, SQL
25
Programming 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!
26
Programming Languages
(continued …)

Object-Oriented Programming
Languages (OOP)
• Objects model real-world phenomena by
•
combining data and instructions
Java, C++, Eiffel, Smalltalk
27
Object Oriented Programs

Inheritance
Instantiation

Communication

• Class -> Object
28
Message Passing in Objects
29
Reusable Code in ObjectOriented Programming
30
How an Interpreter Works
31
How a Compiler Works
32
Coming up...

Need more detail?
• Go to www.howstuffworks.com and check out
the Computer section.

Thursday

Tuesday
• Due: Lab 3
• Networks (Internet, Intranet, Extranet, …)
• Stair, Chapter 4
33
Download