1 chapter 2 computer software mis 311 jakob iversen

33
1 Chapter 2 Computer Software MIS 311 Jakob Iversen

Upload: marilyn-craig

Post on 29-Dec-2015

223 views

Category:

Documents


0 download

TRANSCRIPT

1

Chapter 2Computer Software

MIS 311

Jakob Iversen

2

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

3

Software Model: A Layered View

4

Software Classifications

5

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

6

Operating 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

7

Major Desktop OS

MS-DOS Windows 3.xx

Windows 95Windows 98

Windows NT Windows 2000

IBM’s OS/2

Macintosh Operating SystemUNIX

Java Operating System (JavaOS)

Linux

Windows XP

8

9

Win

dow

s 3

.11

10

Win

dow

s 9

5

11

Win

dow

s X

P

12

Linux (KDE 3)

13

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

14

Application Software

Direct a computer system to perform specific information processing activities and provide functionality for users (lets you do real work)

15

16

Personal Application Software

An off-the-shelf application program not linked to any specific business function, but instead supports general types of processing

SpreadsheetData management

Word processingDesktop publishing Publishing

Graphics Multimedia Communications

Speech recognition software GroupWare

17

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

18

Enterprise Application Software

19

Supply Chain Management

20

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/pr18june2003a.jsp

21

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

22

Programming Languages

Different languages for different purposes Tradeoff between easy to program (programmer-

friendly) vs. Efficiency in execution (computer-friendly)

… ..……

23

Example: 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

24

Procedural Language (Pascal), 3GLProgram MyAddition;

Vara, b, c: int;

BeginWriteln (This is fun’);a:=2; b:=5;While a<b 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, ...

25

4GL: Non-procedural (SQL)

Stating an outcome:SELECT (Customer_Name and Customer_Address)FROM Customer_TableWHERE Credit_Limit > 5000

Other languages state facts and rulesFact 1: Jane is Alan’s MotherFact 2: Mary is Jane’s sisterRule 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

26

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!

Programming Languages (continued …)

27

Programming Languages (continued …)

Object-Oriented Programming Languages (OOP)• Objects model real-world phenomena by

combining data and instructions

• Java, C++, Eiffel, Smalltalk

28

Object Oriented Programs

Inheritance Instantiation

• Class -> Object

Communication

29

Message Passing in Objects

30

Reusable Code in Object-Oriented Programming

31

How an Interpreter Works

32

How a Compiler Works

33

Coming 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