Sie sind auf Seite 1von 32

Software, Programming, and

Artificial Intelligence

Alter Information Systems 4th


ed.

Objectives

What are the different types of software?


How is programming like a translation process?
What aspects of programming do not depend on the
programming language used?
What are the four generations of programming
languages?
What are some of the other important developments in
programming?
What are operating systems, and why should managers
and users care about them?
What is the most basic limitation of programming?

Alter Information

Opening Case: Microsoft

Maintains control over the software


development process, while allowing small
teams to work independently

Synch and stabilize


The daily build a daily test to check
whether the most recently debugged version
of all the separate modules are still operating
correctly
Alter Information

Thinking About the Current Limits


of Software

Software can be developed for situations


where the rules are explicit and well
understood
Still not possible to make the computer
mimic a 4-year-old

Cannot describe all the factors and how they


interact
Cannot fully describe context
Alter Information

Types of Software Figure 9.1

Alter Information

Alter Information

Programming Viewed As a
Business Process

Alter Information Systems 4th


ed.

Programming As a Translation
Process Figure 9.2

Alter Information

Organizing Ideas

Successive decomposition (also known


as stepwise refinement) programs are
divided into small subprograms called
modules

Self-contained subsystems that produce


predictable outputs from known inputs

Structured programming a disciplined


style of programming based on successive
decomposition
Alter Information

Figure 9.3

10

Alter Information

Testing Programs

11

The process of determining whether a


program or system operates in the desired
manner
Bug a flaw in the program
Syntax errors incorrect use of the
programming language
Logic errors bugs that cause a
syntactically correct program to perform
incorrect processing
Alter Information

The Changing Nature of


Programming

Greater nonprocedurality

12

Procedural program a program that


specifies how something should be done
Nonprocedural program a program that
specifies what should be accomplished
Nonprocedural programs are easier to
develop

Alter Information

Greater modularity and reusability

Greater machine and data independence

13

Reusability using preexisting modules when


developing new programs
Machine independence programs can be
executed under different operating system and
on machines from different vendors
Data independence possible to change the
way the data are physically stored without
changing the program
Alter Information

Tighter links between analysis and


programming

14

Eliminating steps between the expression of


what people want (analysis) and the
instructions for the computer (programming)
Computer aided software engineering (CASE)
tools

Alter Information

The Trend Toward ObjectOriented Programming (OOP)

Objects vs. classes


Objects are things about which data exist

15

The object is made up of both data and actions


that can be performed with the data
A class is a general description of a related set
of objects
Classes are organized in hierarchies
A class inherits both the data and the actions
of the parent class
Alter Information

16

All actions are controlled by messages


passed between objects
Object orientation is becoming
increasingly popular
Most popular object-oriented
programming languages: C++ and Java

Alter Information

17

Alter Information

Four Generations of
Programming Languages

18

Alter Information Systems 4th


ed.

Machine Languages

19

The internal programming language for


a particular chip
The only language the processor can
understand
Very difficult for humans to use

Alter Information

Assembly Languages

20

Are automatically translated into machine


language by assembler programs
Makes programs easier to write because it
avoids the problem of physical references
Still very laborious and error-prone

Alter Information

High Level Languages

Also known as third generation languages


(3GLs)
The source code is translated into the
object code (machine language) by a
COMPILER

21

The translation can also be accomplished by


an INTERPRETER, which translates and
executes each line of code (no object code is
created)
Alter Information

Fourth Generation Languages


(4GLs)

A loosely defined group of programming


languages that permit nonprogrammers to
do programming work
Main categories:

22

Query languages
Report generators

Alter Information

Other Major Developments in


Programming

23

Special purpose languages


Spreadsheets
Computer aided software engineering
systems (CASE)

Alter Information

24

Alter Information

Operating Systems

25

Alter Information Systems 4th


ed.

Complex programs that control the


operation of computers and networks

26

Control the execution of other programs


Control communication with peripherals
Control the use of computer resources, such
as disk space

Alter Information

Operating Systems for Personal


Computers

Functions:

27

Controlling the user interface


Controlling tasks in progress
Controlling access to data
Allocating resources

Alter Information

Operating Systems for Multiuser


Computer Systems

28

Monitor the current status and decide


when to start jobs
Network operating system establishes
the links, monitors the operation, and
controls recovery processes

Alter Information

Why Operating Systems Are


Important

They can lock in some applications, while


locking others out
May raise antitrust issues

29

Microsoft

Alter Information

Steps Toward Making Computers


Intelligent

30

Artificial intelligence the field of


research dedicated to the demonstration
of intelligence by machines
Most basic limitation: not knowing how to
program common sense
Attempts to make computers understand
natural languages
Alter Information

Figure 9.11

31

Alter Information

32

Alter Information