You are on page 1of 386

Introduction to Information Technology

IT Kolledzh/TT E.Domiczi based on T.Tammet

Lecture overview
1977-1980: reminder, first home computers
Commodore PET, Apple II, Radio Shack
Apple
Microsoft ja BASIC
Games
1981-1982: Home computers in offices
IBM PC
Office software
Workstations: Sun and Apollo
1983-1989: Graphical User Interface (GUI), memory over 64 KB
Apple Lisa
Apple Macintosh
IBM clones
MS Word, Windows planned
Unix: System V, X-Windows, Gnu project
2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

-2-

1977-1980 : Home computers

Apple, Commodore, Radio Shack

Microsoft, more microprocessors, VisiCalc, Sinclair

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

-3-

1977

2006

The Commodore PET (Personal Electronic Transactor) -- the first of


several personal computers released in 1977 -- came fully assembled and
was straightforward to operate.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

-4-

1977

2006

The Apple II became an instant success when released in 1977 with its
printed circuit motherboard, switching power supply, keyboard, case
assembly, manual, game paddles, A/C powercord, and cassette tape with
the computer game "Breakout.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

-5-

1977

2006

In the first month after its release, Tandy Radio Shack's first desktop
computer -- the TRS-80 -- sold 10,000 units, well more than the company's
projected sales of 3,000 units for one year.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

-6-

1977

2006

The Apple Computer Company is incorporated.


Apple employees move into an office on Stevens
Creek Boulevard in Cupertino, California.
A working model of the first Radio Shack computer is
demonstrated to company president, Charles Tandy.
Commodore first shows a prototype PET computer at
the Winter Consumer Electronics Show.
Apple Computer moves from Jobs' garage to an office
in Cupertino.
Bill Gates and Paul Allen sign a partnership
agreement to officially create the Microsoft company.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

-7-

1978

The VAX 11/780 from Digital Equipment Corp. featured the ability to
address up to 4.3 gigabytes of virtual memory, providing hundreds of
times the capacity of most minicomputers. NB! DEC has now two product
lines for minicomp:

2006

PDP
VAX

The 5 1/4-inch floppy disk became the standard medium for personal
computer software after Apple Computer and Tandy Radio Shack
introduced disk drives for this format.
IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

-8-

1978
January
Apple Computer demonstrates its first working prototype Apple II disk drive at
the Consumer Electronics Show, in Las Vegas.
May
Intel begins production of the 8086 microprocessor. It is created by two
engineers in just three weeks. Work on the processor began when it was
realized that the i432 project was in trouble.
June
Intel introduces the 4.77-MHz 8086 microprocessor. It uses 16-bit registers, a
16-bit data bus, and 29,000 transistors, using 3-micron technology. Price is
US$360. It can access 1 MB of memory. Speed is 0.33 MIPS. Later speeds
included 8-MHz (0.66 MIPS) and 10-MHz.
Microsoft ships Microsoft COBOL.
Apple Computer introduces the Disk II, a 5.25 inch floppy disk drive
linked to the Apple II by cable. Price: US$495, including controller card.
Pertec ceases production of the Altair.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

-9-

1979

2006

Harvard MBA candidate Daniel Bricklin and programmer Robert


Frankston developed VisiCalc, the program that made a business machine
of the personal computer, for the Apple II.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 10 -

1979

In development since 1967, the Stanford Cart successfully crossed a


chair-filled room without human intervention in 1979.

January

Xerox president replies to John Ellenby's proposal to market the Alto, turning
down his proposal.

Microsoft moves its offices from Albuquerque, New Mexico to Bellevue,


Washington.

Taito first shows the Space Invaders game, in Japan.


May

Software Arts demonstrates VisiCalc at the 4th West Coast Computer Faire.
Dan Bricklin and Bob Frankston wrote it during 1978-79, under the company
name Software Arts, under contract to Personal Software.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 11 -

1979
June

Apple Computer introduces the Apple II Plus, with 48KB memory, for
US$1195.

Apple Computer introduces its first printer, the Apple Silentype, for
US$600. It is a Trendcom Model 200, released under the Apple name.

Intel introduces the 4.77-MHz 8088 microprocessor. It was created as a


stepping stone to the 8086, as it operates on 16 bits internally, but supports
an 8-bit data bus, to use existing 8-bit device-controlling chips. It contains
29,000 transistors, using 3-micron technology, and can address 1MB of
memory. Speed is 0.33 MIPS. A later version operates at 8-MHz, for a
speed of 0.75 MIPS.

Bob Metcalfe founds 3Com Corporation.

Texas Instruments introduces the TI-99/4 personal computer, for an


initial price of US$1500. It uses the TI 9940 16-bit microprocessor.

MicroPro releases the WordStar word processor, written by Rob


Barnaby. It is made available for Intel 8080A Zilog Z-80 based CP/M-80
systems. written by Seymour Rubenstein

Microsoft announces Microsoft BASIC 8086 at the National Computer


Conference.
2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 12 -

1979
July

CompuServe begins a service to computer hobbyists called MicroNET,


offering bulletin boards, databases, and games.

Clive Sinclair creates Sinclair Research.


August

Microsoft releases its Assembler language for 8080/Z80 microprocessors.

Wayne Ratliff develops the Vulcan database program (Ashton- Tate later
markets it as dBase II).
September

Motorola's 68000 16-bit microprocessor appears. It uses 68,000 transistors,


giving it its name.
October

2.5 years after the introduction of the Apple II, 50,000 units have been
sold.

Personal Software releases VisiCalc for the Apple II, for US$100.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 13 -

1979

Atari begins shipping the Atari 400 and Atari 800 personal computers.
The 400 comes with 8KB, selling for US$550. The 800 sells for US$1000.
Radio Shack begins shipping the TRS-80 Model II to users.
November
Xerox Office Products Division president, Don Massaro, decides to
champion the Star office system (based on the Alto).
December
A group of Apple Computer engineers and executives is given a demo of Xerox
Palo Alto Research Center's Alto computer system, in exchange for Xerox
buying 100,000 Apple Computer shares for US$1 million.
Atari develops the Asteroids computer game.
Microsoft completes work on BASIC for the Intel 8086 processor.
The first Comdex show is held, in Las Vegas. Approximately 150
companies show products to some 4,000 visitors.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 14 -

1979

2006

Microsoft begins developing an 8086 version of FORTRAN. [346.72]


Apple Computer's Trip Hawkins negotiates a deal with Dan Fylstra of
Personal Software to buy his company and VisiCalc for US$1 million in
Apple stock. Apple's president refuses to approve the deal.
Ross Perot asks Bill Gates about buying Microsoft. Gates recalls asking
US$6-15 million. Perot recalls Gates asking US$40-60 million.
Alan Shugart founds Seagate Technologies (hard disk maker), in Scotts
Valley,
Apple Computer begins work on "Sara", the code name for what will be
the Apple III.
Apple Computer releases the word processing program AppleWriter 1.0.
Schlumberger Ltd. sells Heath Company to Zenith Radio Corp. for
US$64.5 million.
Automated Simulations releases Temple of Apshai for microcomputers.
Niklaus Wirth invents the Modula-1 programming language.
NEC releases its NEC PC 8001 microcomputer in Japan, the first for that
country.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 15 -

1979

2006

Xerox shows its Alto personal computer in TV commercials.


After airing a TV commercial for the Alto several times, Xerox decides not
to market the Alto.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 16 -

79-80: USENET : early web : text(-based) news

2006

USENET is a huge amount of newsgroups. Text moves from


machine to machine.
USENET: Unix Users Network founded late 1979.
Info transfer initially: through UUCP (Unix to Unix communications
protocol, mostly with modem help (dialing-in).
1979: released V7 Unix with UUCP. Two Duke University grad
students in North Carolina, Tom Truscott and Jim Ellis, thought of
hooking computers together to exchange information with the Unix
community. Steve Bellovin, a grad student at the University of
North Carolina, put together the first version of the news software
using shell scripts and installed it on the first two sites: "unc" and
"duke." At the beginning of 1980 the network consisted of those
two sites and "phs" (another machine at Duke), and was described
at the January Usenix conference.
1986 breakthrough: Network News Transfer Protocol (NNTP) . News
move via TCP/IP (internet).

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 17 -

Specialprocessors: birth 1980, death ca 1990

Symbolics founded 1980. Created special hardware for running LISP


programs (mostly AI) efficiently.The whole system written in LISP.
21 founders: mostly from MIT AI lab.
Revenue 35 millions by 1986, then decreases rapidly.
Cost of a Symbolics machine in 1988 was between 36.000$ and
125.000$.
Sun-X computer at that time
started at 14.000$
Another Lisp machine company created
at the same time: LMI LISP machine
died even faster than Symbolics

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 18 -

1980
January

Universal Data Systems announces the 103LP 300 bps modem,


connecting directly into the phone line, requiring no additional power.
Price: US$195.

Sinclair Research announces the ZX80 computer in the North American


market. It uses a 3.25-MHz NEC Technologies 780-1 8-bit microprocessor,
and comes with 1KB RAM and 4KB ROM.
March

Microsoft Corp. announces its first hardware product, the Z-80 SoftCard
for the Apple II. This card gives the Apple II CP/M capability,
contributing greatly to Apple Computer's success. The card includes CP/M
and Microsoft's Disk BASIC, all for US$349.

Satellite Software International ships WordPerfect 1.0 for Data General


minicomputers.
May

Apple Computer introduces the Apple III at the National Computer


Conference, in Anaheim, California. The Apple III uses a 2-MHz 6502A
microprocessor, and includes a 5.25-inch floppy drive. Price ranges from
US$4500 to US$8000.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 19 -

1980

IBM's Corporate Management Committee gives William Lowe approval to


begin Project Chess, by recruiting 12 engineers, and building a prototype
microcomputer.

IBM representatives meet with Microsoft's Bill Gates and Steve Ballmer
to talk about Microsoft products, and home computers.

IBM asks Bill Gates to write the operating system for their upcoming PC.

IBM's Project Chess task force contacts Digital Research about using
CP/M-86 for IBM's upcoming microcomputer. Gary Kildall is not
interested, for a variety of reasons.
August

IBM meets with Microsoft again, and shows plans for Project Chess, a
personal computer. The code name for the computer is "Acorn". Bill
Gates argues that IBM should use the 16-bit 8086, rather than the 8-bit
8080 processor.

QDOS 0.10 (Quick and Dirty Operating System) is shipped by Seattle


Computer Products. Even though it had been created in only two manmonths, the DOS worked surprisingly well. A week later, the EDLIN line
editor was created. EDLIN was supposed to last only six months, before
being replaced.
2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 20 -

1980

Hal Lashlee and George Tate form Software Plus. The company later
changes its name to Ashton-Tate.

Microsoft announces the Microsoft XENIX OS, a portable and


commercial version of the UNIX operating system for the Intel 8086, Zilog
Z8000, Motorola M68000, and Digital Equipment PDP-11.
September

Microsoft decides to propose to IBM that they provide the operating


system for IBM's microcomputer.

William Lowe assembles the members of "Project Chess", known as the


"Dirty Dozen", the 12 engineers assembled to design and build the IBM
PC, in Boca Raton, Florida.

Apple Computer sells over 78,000 Apple II computers during the fiscal
year.

Software Publishing ships the pfs:File database program.

IBM meets with Microsoft again, to formalize plans to work together in


creating a new microcomputer.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 21 -

1980
October

Microsoft's Paul Allen contacts Seattle Computer Products' Tim


Patterson, asking for the rights to sell SCP's DOS to an unnamed client
(IBM). Microsoft pays less than US$100,000 for the right.

Bill Gates, Paul Allen, and Steve Ballmer meet with IBM in Boca Raton,
Florida, to deliver a report to IBM. They propose that Microsoft be put in
charge of the entire software development process for IBM's new
microcomputer, including converting Seattle Computer Products' SCPDOS to run on the computer.
November

Microsoft and IBM sign a contract for Microsoft to develop certain


software products for IBM's microcomputer.
December

IBM delivers the first PC prototype to Microsoft, so they can begin


developing BASIC and the machine's operating system.

Apple Computer becomes a publicly held company, selling 4.6 million


shares at US$22 per share. More than 40 Apple employees and investors
become instant millionaires.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 22 -

1980

2006

Seattle Computer Products renames QDOS to 86-DOS, releasing it as


version 0.3. Microsoft then bought non-exclusive rights to market 86-DOS.
Logo Computer Systems is formed in Montreal, Canada, to market the
public domain language LOGO.
Microsoft begins work on its first microcomputer application, a
spreadsheet program initially called Electronic Paper.
Digital Research releases CP/M-86 for Intel 8086- and 8088-based
systems.
Intel announces the iAPX-432 32-bit microprocessor. Intel later builds
the 80286 as a step between the 8086 and the 432.
The term RISC (reduced instruction set computer) is coined by Professor
David Patterson of the University of California in Berkeley. He designs a
microprocessor called RISC I.
Intel introduces the 8087 math coprocessor.
Alan Ashton and Bruce Bastian found Satellite Software International.
Apollo introduces a line of workstations using the Motorola 68000.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 23 -

1981-1982

1981-1982 Business Takes over

Osborne, IBM, Compaq

2006

Lotus 1-2-3, MultiMate, Dbase II

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 24 -

1981
MAIN HIGHLIGHTS

IBM introduced its PC, igniting a fast growth of the personal computer
market

The MS-DOS, or Microsoft Disk Operating System, the basic software for
the newly released IBM PC, established a long partnership between IBM
and Microsoft, which Bill Gates and Paul Allen had founded only six years
earlier

Apollo and Silicon Graphics: first workstation companies

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 25 -

1981: big portable

2006

Adam Osborne completed the first portable computer, the Osborne


I, which weighed 24 pounds and cost $1,795. Used Z80 (NOT IBMPC clone (yet)!)

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 26 -

1981: Apollo Computer

2006

Apollo Computer unveiled the first workstation, its DN100, offering more
power than some minicomputers at a fraction of the price. Used a
Motorola 68000 microprocessor.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 27 -

1981: Silicon Graphics

2006

College professor James Clark founded Silicon Graphics,


Incorporated. The 1000 and 1200 computers used a Motorola 68000
microprocessor with 8 Mhz and were sold as diskless systems
intended for use as a terminal.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 28 -

1981
January

Radio Shack ceases production of the TRS-80 Model I, and recalls units
from the US market, due to failure to meet new FCC radio-frequency
interference regulations.
Commodore announces the VIC-20, with full-size 61-key plus four function
key keyboard, 5KB RAM expandable to 32KB, 6502A CPU, 22 character
by 23 line text display, and color graphics, for US$299. During its life,
production peaks at 9,000 units per day.
February

2006

Steve Wozniak's private plane crashes, leaving him with a temporary loss
of short-term memory, lasting for over a month.
MS-DOS runs for the first time on IBM's prototype microcomputer.
Intel begins shipping evaluation sets of the iAPX432 microprocessor.
Performance is claimed as 2 MIPS.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 29 -

1981
March

Sinclair unveils the ZX81 in the UK, based on the Z80A microprocessor,
for under US$200.
Mike Markkula takes over as president and chief executive officer at
Apple Computer. Steve Jobs remains as chairman of the board.
April

2006

Tim Patterson quits Seattle Computer Products, and joins Microsoft.


Adam Osborne, of Osborne Computer Corporation, introduces the
Osborne 1 Personal Business Computer at the West Coast Computer
Faire. It features a Z80A CPU, 5-inch display, 64KB RAM, keyboard,
keypad, modem, and two 5.25-inch 100KB disk drives for US$1795.
Weight: 24 pounds. It also includes US$1500 worth of software, including
CP/M, BASIC, WordStar, and SuperCalc. Osborne anticipated selling
10,000 in total, but sales quickly reached 10,000 in a single month.
Mike Scott is forced out as Apple Computer president.
IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 30 -

1981
May
Xerox unveils the Star 8010, at the National Computer Conference. Many
features that were developed on the Alto are incorporated. It includes a
bitmapped screen, WYSIWYG word processor, mouse, laser printer,
Smalltalk language, Ethernet, and software for combining text and
graphics in the same document. At a starting price of US$16-17,000, the
computer is not a commercial success. During its lifetime, 100,000 units are
produced.
Atari announces the 8KB Atari 400 is being discontinued.
June
Microsoft reorganizes into Microsoft Incorporated, with Bill Gates as
President and Chairman, and Paul Allen as Executive Vice President.

2006

Microsoft persuades IBM to introduce its microcomputer with a minimum


of 64KB RAM. IBM had planned to only include 16KB.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 31 -

1981
July

Xerox announces the Xerox 820. During its development, it was codenamed The Worm. It uses the Z80 CPU, CP/M, and BASIC. The price
with a dual disk drive and display is US$3000.
Microsoft buys all rights to DOS from Seattle Computer Products, and the
name MS-DOS is adopted.
IBM introduces its first desktop computer, the Datamaster. It uses a 16-bit
8086, and is a dedicated data processing machine.
August
See next slide ...

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 32 -

1981: IBM PC

2006

IBM announces the IBM 5150 PC Personal Computer, in New York.


The PC features a 4.77-MHz Intel 8088 CPU, 64KB RAM, 40KB ROM,
one 5.25-inch floppy drive (160KB capacity), and PC-DOS 1.0
(Microsoft's MS-DOS), for about US$3000. Also included is
Microsoft BASIC, VisiCalc, UCSD Pascal, CP/M-86, and Easywriter
1.0. A fully loaded version with color graphics costs US$6000.
IBM announces the CGA graphics card for the PC, giving 640x200
resolution with 16 colors.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 33 -

1981: Microsoft as a main IBM PC software provider

The MS-DOS, or Microsoft Disk Operating System, the basic


software for the newly released IBM PC, established a long
partnership between IBM and Microsoft, which Bill Gates and Paul
Allen had founded only six years earlier

Microsoft buys all rights to DOS from Seattle Computer Products,


and the name MS-DOS is adopted.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 34 -

1981
September

Novell Data Systems hires SuperSet to create software to link computers


together to share a hard drive.
Microsoft begins work on a graphical user interface for MS-DOS, initially
called Interface Manager, because it would effectively hide the interface
between programs and devices like printers and video cards.
Apple Computer introduces its first hard drive, the 5MB ProFile, for
US$3499.
IBM begins shipping the IBM PC, ahead of schedule, something unheard
of in the microcomputer industry.

October

2006

A senior scientist at Bell Telephone Laboratories declares that video


monitors pose no health hazard due to radiation exposure.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 35 -

1981
November
Novell Data Systems ships the Novell Data Management Computer, with the
ability to share its hard drive space with other computers through software
control and network cards.

Ashton-Tate ships dBase II, the early industry-standard database program.


December

Intel ships the 8087 math coprocessor. [446.504]

Sinclair Research reports that it has shipped 250,000 ZX81 personal


computers.
National Semiconductor announces the 32000 chip, the first commercial 32-bit
microprocessor. The 32000 family includes CPUs and peripheral chips.
month unknown
David Bunnell starts PC Magazine, in San Francisco.
Hayes Microcomputer Products advertises the Smartmodem 300, which
becomes the industry standard.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 36 -

1981: Apple marketing ideas, logos etc

2006

Apple Computer signs a secret agreement with Apple Corps


Limited (the record company started by the Beatles), allowing
Apple Computer to use the "Apple" name for its business. Apple
Computer agrees not to market audio/video products with
recording or playback capabilities.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 37 -

1982
MAIN HIGHLIGHTS

Sun Microsystems founded: most influential workstation company so far

Mitch Kapor developed Lotus 1-2-3, writing the software directly into the
video system of the IBM PC.

The use of computer-generated graphics in movies took a step forward


with Disney's release of "Tron.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 38 -

1982: SUN Microsystems

Sun Microsystems is founded. "SUN" originally stood for Stanford


University Network. Motto Network is the computer.
Four employees. Khosla, McNealy, Joy, Bechtolsheim.
First workstation introduced. It includes TCP/IP, now known as the Internet
protocol suite (NOT invented by Sun)

The SUN-2 features a Motorola 68010 processor and uses a Multibus. This
one has 4MB of memory installed and a 400MB Fujitsu M2351 Eagle disk.

The SUN-2 can be used diskless when booted from a server. In 1982 the
Network File System (NFS) was a new invention by Sun.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 39 -

1982

2006

The US Justice Department throws out the antitrust lawsuit filed


against IBM 13 years ago.
Microsoft signs an agreement with Apple Computer, for Microsoft to
develop applications for the Macintosh.
IBM splits its Personal Computer development team into three
groups: one to work on the PC XT, one to develop the PCjr, and
one to start work on the PC AT.
Compaq Computer Corporation is founded by Rod Canion, Jim
Harris, and Bill Murto, all former senior managers of Texas
Instruments.
Intel introduces the 6-MHz 80286 microprocessor. It uses a 16-bit
data bus, 134,000 transistors (1.5 microns), and offers protected
mode operation. Initial price is US$360 each, in quantities of 100. It
can access 16 MB of memory, or 1 GB of virtual memory. Speed is
0.9 MIPS. Later versions operate at 8-MHz, 10-MHz (1.5 MIPS), and
12-MHz (2.66 MIPS).
IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 40 -

1982
January

2006

Kazuhiko Nishi, Microsoft's representative in Japan, shows Bill Gates a


drawing of a prototype for a portable computer, using a new liquid crystal
display developed by Hitachi. Gates and Nishi begin designing the details of
the computer, which Kyocera Corporation in Japan had agreed to
manufacture.
In the first 10 months of sale, 250,000 Sinclair ZX81 microcomputers have
been delivered.
Microsoft signs an agreement with Apple Computer, for Microsoft to
develop applications for the Macintosh.
Apple Computer gives Microsoft its first Macintosh prototype, for
Microsoft to develop applications on.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 41 -

1982
February
The first issue of PC Magazine is released.
IBM splits its Personal Computer development team into three groups:
one to work on the PC XT, one to develop the PCjr, and one to start work
on the PC AT.
Compaq Computer Corporation is founded by Rod Canion, Jim Harris,
and Bill Murto, all former senior managers of Texas Instruments.
Intel introduces the 6-MHz 80286 microprocessor. It uses a 16-bit data
bus, 134,000 transistors (1.5 microns), and offers protected mode
operation. Initial price is US$360 each, in quantities of 100. It can access 16
MB of memory, or 1 GB of virtual memory. Speed is 0.9 MIPS. Later
versions operate at 8-MHz, 10-MHz (1.5 MIPS), and 12-MHz (2.66 MIPS).
Sun Microsystems is founded. "SUN" originally stood for Stanford
University Network.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 42 -

1982
March
Microsoft releases FORTRAN for MS-DOS. [346.262]
April
Mitch Kapor founds Lotus Development Corporation.
Eight months after the introduction of the IBM PC, 50,000 units have
been sold.
May
Sun Microsystems begins shipping the Sun 1 workstation computer.
Microsoft releases MS-DOS 1.1 to IBM, for the IBM PC. It supports
320KB double-sided floppy disk drives. Microsoft also releases MS-DOS
1.25, similar to 1.1 but for IBM-compatible computers.
June
The first IBM PC clone, the MPC, is released by Columbia Data Products.
July
Apple Computer releases the Apple Dot Matrix Printer, for US$700. It is a
modified C.Itoh printer.
Context MBA is the first integrated software package, with spreadsheet,
graphics, word processing, data management, and communications.
2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 43 -

1982
August
IBM ships the 200,000th IBM PC.
Microsoft releases Multiplan for the Apple II and the Osborne I.
Hercules announces the Hercules Graphics Card (HGC or HGA), with
monochrome graphics at 720x348 resolution.
September
October
November
Lotus Development announces the Lotus 1-2-3 spreadsheet program at
Comdex in Las Vegas.
Corporate headhunter Gerry Rocke, of Heidrick & Struggles, calls PepsiCola president John Sculley, asking him to take the position of chief
executive of Apple Computer.
Compaq Computer introduces the Compaq Portable PC: 4.77MHz 8088,
128KB RAM, 9-inch monochrome monitor, one 320KB 5.25-inch disk
drive, price US$3000. It cost Compaq US$1 million to create an IBMcompatible ROM BIOS that did not violate IBM's copyright.
2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 44 -

1982
December
Satellite Software International ships WordPerfect 2.0 for DOS, for
US$500.
Digital Research announces CP/M+.
Atari issues a US$55 rebate on the Atari 400, dropping its retail price to
under US$200.
Sales of all Apple II systems to date: 750,000.
Apple Computer becomes the first personal computer company to reach
US$1 billion in annual sales.
month unknown
Microsoft releases GW-BASIC, with advanced graphics capabilities.
[346.262]

Microsoft releases Microsoft COBOL for MS-DOS.

IBM releases Digital Research's CP/M-86 for the IBM PC.

Symantec is formed.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 45 -

1983 main highlights

Apple introduced its Lisa. The first personal computer with a


graphical user interface, its development was central in the move
to such systems for personal computers.

Compaq Computer Corp. introduced first PC clone that used the


same software as the IBM PC.

Oracle got its name (renamed from Relational Software)

Unix system V version, C++ language, Turbo Pascal, MS Word

The Musical Instrument Digital Interface was introduced at the first


North American Music Manufacturers show in Los Angeles.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 46 -

1983: LISA

Apple Computer officially unveils the Lisa computer. It features a 5MHz 68000 microprocessor, 1MB RAM, 2MB ROM, a 12-inch B/W
monitor, 720x364 graphics, dual 5.25-inch 860KB floppy drives,
and a 5MB Profile hard drive. It is slow, but innovative. Its initial
price is US$10,000. The Lisa cost Apple Computer US$50 million to
develop. It is the first personal computer with a graphical user
interface (GUI). The software for it cost Apple Computer US$100
million to develop. "Lisa" stands for Local Integrated Software
Architecture. During its lifetime, 100,000 units are produced.

Quote by Steve Jobs, of Apple Computer, "We're prepared to live


with Lisa for the next ten years."

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 47 -

1983: Oracle corporation: SQL databases etc


1974-1979: IBM System/R project gives SQL language for database
manipulation and queries. SQL invented by IBM. Ideas: 70-72 Codd.
1977 Relational Software Inc. (RSI - currently Oracle Corporation)
established: Ellison and Miner.
1978 Oracle V1 ran on PDP-11 under RSX, 128 KB max memory.
Written in assembly language. Implementation separated Oracle
code and user code. Oracle V1 was never officially released.
1980 Oracle V2 released on DEC PDP-11 machine. Still written in
PDP-11 assembly language, but now
ran under Vax/VMS.
1982 Oracle V3 released, Oracle
became the first DBMS to run
on mainframes, minicomputers,

and PC's. Code was written in C.


1983 Relational Software Inc.
changed its name to Oracle
Corporation.
2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 48 -

1983: other important software


Big machines:

AT&T announces UNIX System V.


AT&T Bell Labs designs C++.

Small machines:

2006

Lotus Development ships Lotus 1-2-3 Release 1.0 for MS-DOS.


Functions: spreadsheet+database+graphics. US$1 million was spent
on promoting the release. It requires 256KB of RAM, more than any
microcomputer program at the time. Jonathan Sachs was the
programmer, with Mitch Kapor as the software designer.
Borland International is founded by Philippe Kahn. Borland
International releases Turbo Pascal for CP/M and 8086-based
computers.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 49 -

1983

2006

AT&T announces UNIX System V.


Apple Computer introduces the Apple IIe. It features 64KB RAM,
Applesoft BASIC, upper/lower case keyboard, seven expansion
slots, 40x24 and 80x24 text, 1-MHz 6502 processor, up to 560x192
graphics, 140KB 5.25-inch floppy drive, Apple DOS 3.3, for
US$1400.
Lotus Development ships Lotus 1-2-3 Release 1.0 for MS-DOS.
US$1 million was spent on promoting the release. It requires
256KB of RAM, more than any microcomputer program at the time.
Jonathan Sachs was the programmer, with Mitch Kapor as the
software designer.
IBM announces the IBM PC XT. It adds a 10 MB hard drive, three
more expansion slots, and a serial interface. With 128KB RAM and
a 360KB floppy drive, it costs US$5000.
Microsoft announces MS-DOS 2.0 for PCs. It was written from
scratch, supporting 10 MB hard drives, a tree-structured file
system, and 360 KB floppy disks.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 50 -

1983

2006

Microsoft introduces XENIX 3.0.


Microsoft introduces Multi-Tool Word for DOS (later renamed
Microsoft Word) word processing program at Spring Comdex in
Atlanta, Georgia.
John Sculley is hired at Apple Computer as Chief Operating
Officer.
Microsoft gives a "smoke-and-mirrors" demonstration of Interface
Manager (later called Windows), which consists entirely of
overlapping windows, appearing to be running programs
simultaneously.
At the NCC, Jerry Pournelle (popular writer in Byte magazine) gives
his predictions about computer technology in the year 1988: RAM
would be 30 cents/KB, all microcomputers would have at least 1MB
RAM, 10 MB hard drives would be common, operating systems
would be in ROM chips, hard drive space would cost under 5
cents/KB, letter quality printers would cost US$1000-1500,
combination laser printer/ copy machines would be US$2000, full
business-quality computers would cost $1000, and all televisions
would include computers.
IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 51 -

1983

2006

The one millionth Apple II is made.


Microsoft, SpectraVideo, and 14 Japanese computer companies
announce the MSX specifications for low-end, 8-bit home
computers systems. The standard is Zilog Z80, TI TMS9918A video
processor, General Instruments AY-8910 sound processor, NEC
cassette interface chip, Atari joystick interface, 64 KB RAM,
Microsoft's 32 KB ROM-based extended BASIC.
AT&T Bell Labs designs C++.
Steve Wozniak returns to Apple Computer.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 52 -

1983

2006

Microsoft formally announces Microsoft Windows, at the Plaza


Hotel in New York. It is promised for release in April, 1984.
Borland International releases Turbo Pascal for CP/M and 8086-based
computers.
IBM announces the IBM PCjr, using Intel's 8088, for US$700 for the
bare configuration. Code name during development was Peanut.
Quote from Spinnaker Software chairman William Bowman: "We're
just sitting here trying to put our PCjrs in a pile and burn them.
And the damn things won't burn. That's the only thing IBM did right
with it - they made it flameproof."

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 53 -

1983

2006

Microsoft officially releases Microsoft Word 1.0, for US$375, or


US$475 with the Microsoft Mouse.
Apple Computer introduces the redesigned Apple III as the Apple
III+, for US$3000.
Apple unveils the new Macintosh to the press.
Microsoft marketeer Rowland Hanson convinces Bill Gates to
change the name of Interface Manager to Windows.
IBM and Microsoft begin co-developing OS/2. [38]
Dan Silva and others leave Xerox, to form Electronic Arts.
Franklin shows an operating Franklin Ace 1200 Apple II compatible
at the CP/M '83 Show. It features an 8-bit processor, 128KB RAM,
color display, upper/lower-case keyboard, 143KB floppy drive,
CP/M card, 80-column text card, for US$2200.
In its first year, Compaq Computer sells 47,000 computers, worth
US$111 million.
George Tate, of Ashton-Tate, buys all rights to dBase II from
Wayne Ratcliff, and hires him as head of development for dBase III.
IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 54 -

1983

2006

Borland International is founded by Philippe Kahn.


Microsoft shows IBM a raw version of Windows. IBM is not
interested as they are already developing what would be called
TopView.
Novell introduces the NetWare network operating system for the
IBM PC.
Bjorne Stroustrup creates the C++ extension to the C programming
language.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 55 -

1984 main highlights

2006

Apple Computer launched the Macintosh, the first successful mousedriven computer with a graphic user interface, with a single $1.5
million commercial during the 1984 Super Bowl.
The 3 1/2-inch "microfloppy" diskette won widespread acceptance,
aided by Apple Computer's decision to integrate its use into the
new Macintosh.
IBM released its PC Jr. and PC-AT. The PC Jr. failed, but the PC-AT,
several times faster than original PC and based on the Intel 80286
chip, claimed success with its notable increases in performance
and storage capacity, all for about $4,000.
In his novel "Neuromancer," William Gibson coined the term
"cyberspace." He also spawned a genre of fiction known as
"cyberpunk" in his book, which described a dark, complex future
filled with intelligent machines, computer viruses, and paranoia.
GNU project launched
X-Window system started in MIT

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 56 -

1984: Apple Macintosh

2006

Apple Computer's Steve Jobs introduces the Apple Macintosh at the


Flint Center of DeAnza College in Cupertino, California. The
Macintosh uses the 8-MHz 32-bit Motorola 68000 CPU, built-in 9inch B/W screen, 512x342 graphics, 400KB 3.5-inch floppy disk
drive, mouse, 128KB RAM, and weighs 20 pounds. Price: US$2500.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 57 -

1984: Apple Macintosh

Apple Computer launched the Macintosh, the first successful


mouse-driven computer with a graphic user interface, with a single
$1.5 million commercial during the 1984 Super Bowl.

.. On January 24th, Apple Computer will introduce


Macintosh. And you will see why 1984 won't be like "1984."

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 58 -

1984

2006

IBM ships the IBM PCjr. It uses the 8088 CPU, includes 64KB RAM,
a "Freeboard" keyboard, and one 5.25-inch disk drive, no monitor,
for US$1300.
74 days after the introduction of the Macintosh, 50,000 units have
been sold. [218]
Apple Computer unveils the Apple IIc with an intense publicity
extravaganza, at the Moscone Center in San Francisco. Priced at
US$1300, 2,000 dealers place orders for more than 52,000 units on
the day of its introduction. The IIc uses a 65C02A microprocessor,
128KB RAM, weighs 7.5 pounds, includes a 3.5-inch floppy drive,
supports 40- or 80-column screens, and allows both QWERTY and
Dvorak keyboard layouts.
Apple Computer retires the Apple III and Apple III+, with only
65,000 units sold in total.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 59 -

Apple product lines: overview

Two main lines: Apple II and Macintosh


Develop BOTH hardware and software (operating system and other
important modules used by all external programmers)

Apple I

Apple II

(1976)

(1977-1993)
Apple III

Stopped
Stopped

(1980-1985)

Macintosh (1984 ....)

Lisa
(1983-1986)

Mac OS operating system

Mac Os X
(UNIX-based)

Newton PDA

Stopped

(1990-1993)

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

Ipod MP3 player

pg

- 60 -

1984

2006

Microsoft's Bill Gates and Steve Ballmer write an internal applications


strategy memo on the company's commitment to the GUI, on the Macintosh
and for Windows.
Ashton-Tate ships dBase III.
Six months after its introduction, 100,000 Macintosh computers have been
sold.
IBM announces the PC AT, a 6MHz 80286 computer using PC-DOS 3.0, a
5.25-inch 1.2MB floppy drive, with 256KB or 512KB RAM, optional 20 MB
hard drive, monochrome or color monitor. Price ranges from US$40006700, depending on configuration.
IBM introduces PC/IX, based on UNIX System III from AT&T, for the PC AT.
IBM announces TopView, a DOS multitasking program.
IBM announces the Enhanced Graphics Adapter (EGA), supporting up to
640x350 resolution in 16 colors. With 64K, the card costs US$524. For
640x350x16 mode, a US$200 64KB RAM expander is required.
Apple Computer introduces the Macintosh 512K for US$3200. It uses an 8MHz 68000 processor, and comes with 512 KB RAM, and a 400 KB 3.5-inch
floppy drive.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 61 -

1984

2006

Microsoft gives a demonstration of the final version of Windows


to IBM. For the third time, IBM is not interested.
The number of hosts on the Internet reaches 1000.
Lotus Development officially announces Jazz for the Macintosh,
an all-in-one program incorporating a spreadsheet, database,
graphics, word processing, and communications.
The 2 millionth Apple II computer is sold.
Sierra On-Line releases the game King's Quest.
Apple Computer releases AppleWorks, one of the first integrated
software packages, with modules for word processing, database
management, and spreadsheet calculations. It was written by
Rupert Lissner.
Hewlett-Packard introduces the LaserJet laser printer, featuring
300dpi resolution, for US$3,600.
Foxbase releases Foxbase for MS-DOS.
MIPS Computer Systems is founded (a spinoff from SGI), and
begins developing its RISC architecture.
IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 62 -

1984

2006

Sun Microsystems co-founder Vinod Khosla resigns.


Scott McNealy is appointed president of Sun Microsystems.
subLogic releases Flight Simulator for the Commodore 64.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 63 -

1984

2006

Richard Stallman launches the GNU Project, to develop the free


operating system GNU (anacronym for ``GNU's Not Unix''), and
thereby give computer users the freedom that most of them have
lost. GNU is free software: everyone is free to copy it and
redistribute it, as well as to make changes either large or small.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 64 -

1984

2006

The Massachusetts Institute of Technology (MIT) begins


developing the X Window System. X is the basic window system for
almost all UNIX machines nowadays.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 65 -

1985: Main highlights

The modern Internet gained support when the National Science


foundation formed the NSFNET, linking five supercomputer
centers at Princeton University, Pittsburgh, University of
California at San Diego, University of Illinois at Urbana-Champaign,
and Cornell University.

Able to hold 550 megabytes of prerecorded data, the new CDROMs grew out of regular CDs on which music is recorded.

The C++ programming language emerged as the dominant objectoriented language in the computer industry when Bjarne
Stroustrup published "The C++ Programming Language."

Free GNU Emacs 15.34 released by Richard Stallman

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 66 -

1985

2006

IBM announces that it will cease production and promotion of the


IBM PCjr.
The Macintosh XL (formerly called Lisa) is dropped from Apple
Computer's product line.
Apple Computer's board of directors approves John Sculley's
decision to remove Steve Jobs as head of the Macintosh division.
Apple Computer president John Sculley essentially fires Steve
Jobs at Apple Computer.
Microsoft introduces Microsoft Excel for the Macintosh, in New
York.
Lotus Development releases Lotus Jazz for the Macintosh, for
US$595.
Microsoft demonstrates Microsoft Windows at Spring Comdex.
Release date is set for June, at a price of US$95.
Apple Computer reports its first quarterly loss.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 67 -

1985

Microsoft and IBM sign a joint-development agreement to work together on


future operating systems and environments.
Apple Computer co-founder Steve Jobs resigns from Apple Computer.
Steve Jobs and five senior managers of Apple Computer Inc. found NeXT
Incorporated.
Microsoft ships Microsoft Windows 1.0, for US$100. It is delivered two
years after the initial announcement of the product
Broderbund releases Karateka for the Commodore 64.
Steve Jobs sells 4 million shares of Apple Computer, netting about
US$70.5 million. If he had held them to the fall of 1987, they would have
brought US$481 million.
U.S. Robotics introduces the Courier 2400 modem.
Intel introduces the 80287 math coprocessor.
Microsoft purchases all rights to DOS from Seattle Computer Products for
US$925,000.
Sun Microsystems begins work on its SPARC processor.

Microsoft releases QuickBASIC 1.0.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 68 -

Microsoft main product lines: overview

Main lines: progr languages, MS-DOS, Windows, NT/2000/XT, Office


Develop software (hardware: mouse, Xbox, etc are much less
important) for IBM PC clones and (Office, Basic) for Apple

Basic, (Fortran), (Cobol), C, C++, C# etc interpreters and compilers: 1975 ...
MS DOS 1

MS-DOS 2.0 etc (1983 ... 2004?)

(bought)
1981)

Stopped
Windows 1-3

(1985 ... 1996 ?)

Windows 95/98/Me (1995 .... 2004?)

Stopped

OS/2
Together with IBM
Windows NT/2000/XP (1993 ...)
DEC VAX
1987 ... 1990
VMS op system
Office (Word, Excel, etc): 1983...
(1978)
2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 69 -

1986

David Miller of AT/T Bell Labs patented the optical transistor, a


component central to digital optical computing.

Daniel Hillis of Thinking Machines Corp. moved artificial


intelligence a step forward when he developed the controversial
concept of massive parallelism in the Connection Machine.

IBM and MIPS released the first RISC-processor-based workstations,


the PC/RT and R2000-based systems.

Compaq beat IBM to the market when it announced the Deskpro


386, the first computer on the market to use Intel's new 80386 chip,
a 32-bit microprocessor with 275,000 transistors on each chip.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 70 -

1987

Motorola unveiled the 68030 microprocessor.


Sun unveiled the Sparc microprocessor, based on RISC ideas.
IBM introduced its PS/2 machines, which made the 3 1/2-inch floppy
disk drive and video graphics array (VGA) standard for IBM
computers.
Apple engineer William Atkinson designed HyperCard, a software
tool that simplifies development of in-house applications.
HyperCard was one of the inspirations for the web browser, which
came in 1990.

Side note: CISC vs RISC processor architectures


CISC: complex instruction set computer (Intel, motorola 68000
series, ..)
A large number of instructions, most are relatively slow
RISC: reduced instruction set computer (PowerPC, Sparc, ....)
A small number of instructions, all are very fast
In practice, CISC and RISC ideas converge in newer processors
2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 71 -

1987: GCC, the main C compiler nowadays

GCC version 1.0 released by Free Software Foundation founder


Richard Stallman.

GCC once stood for GNU C Compiler, since it was used to compile
programs written in the C programming language for Stallman's
"GNU's Not Unix" (GNU) effort to create a clone of Unix. Now,
though, because GCC accepts programs written in many other
languages as well, GCC stands for GNU Compiler Collection.

GCC is the main compiler used on all kinds of UNIX-es, and several
ports of GCC (cygwin, djgpp) are highly popular on MS Windows
as well

Ported to a very large number of processors


Compiles: C, C++, Objective C, Fortran, Java, Ada, (Pascal)

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 72 -

1988

Apple cofounder Steve Jobs, who left Apple to form his own
company, unveiled the NeXT workstation.

Compaq and other PC-clone makers developed enhanced industry


standard architecture -- better than microchannel and retained
compatibility with existing machine (ISA).

Pixar's "Tin Toy" became the first computer-animated film to win an


Academy Award, taking the Oscar for best animated short film.
Pixar was founded by Jobs.

Robert Morris' worm flooded the ARPANET. Then-23-year-old Morris,


the son of a computer security expert for the National Security
Agency, sent a nondestructive worm through the Internet, causing
problems for about 6,000 of the 60,000 hosts linked to the network.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 73 -

1989

2006

Intel released the 80486 microprocessor and the i860


RISC/coprocessor chip, each of which contained more than 1
million transistors.
Motorola announced the 68040 microprocessor, with about 1.2
million transistors.
Maxis released SimCity, a sophisticated video game that helped
launch a new genre, the simulation.
AOL (America Online) network service launched for Macintosh and
Apple II (MS Windows version appears in 1993). The company Quantum Computer Services was created in 1985, by Steve Case,
initially running internet services (games, email, chat, news) for the
Commodore 64 machines using dial-up.
AOL provided access to the Internet, and, in addition, offered
access to its own online information and services tailored to
average Americans.
NB! In the initial years of AOL there was no WWW or HTML.
IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 5

pg

- 74 -

Introduction to Information Technology

IT Kolledzh/TT E.Domiczi based on T.Tammet

Overview: great sagas (1980-)1990-2003

2006

Hardware:
The rise and fall of special processors. One exception: 3D graphical processors 1996...
IBM PC
Apple Macintosh
Sun workstations & servers
Palmtops: Apple Newton, Palm. MS Pocket PC opssteem.
Software:
Microsoft becomes the main developer of IBM PC software
Microsoft and IBM quarrel: Windows NT vs OS/2
SQL database (query) language and databases become mainstream
Gnu / Linux and freeware distribution. Linux, Apache jms.
Internet for the masses: html and browsers
Early news-system (80s: USENET). Internet for universities, not the masses.
1990 Tim-Berners Lee invents HTML and the modern browser
Netscape takes the browser to the masses.
WWW changes internet into a mainstream technology.
Microsoft takes Netscapes browserpart, Netscape starts up the Mozilla freeware-project
Dot-com bubble:
in the USA stocks were rising fast from the beginning of the 90s
at the end of the 90s internet- and software shares are over-priced
in 2001(March 10) burst of dot-com bubble: stockmarket deflation till autumn 2002 :
tehnology shares at the 96 level, Dow Jones (classical big company shares) at 97 level.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

-2-

1990: HTML, http and the browser are born


The World Wide Web was born when Tim Berners-Lee, a researcher at CERN,
the high-energy physics laboratory in Geneva, developed HyperText
Markup Language.
HTML, as it is commonly known, allowed the Internet to expand into the
World Wide Web, using specifications he developed such as URL (uniform
resource locator) and HTTP (hypertext transfer protocol).

Berners-Lee based the World Wide Web on Enquire, a hypertext system he


had developed for himself, with the aim of allowing people to work together
by combining their knowledge in a global web of hypertext documents.

With this idea in mind, Berners-Lee designed


both the first World Wide Web server and browser
-- available to the general public in 1991.
First web server address: info.cern.ch
Berners-Lee founded the W3 Consortium,
which coordinates World Wide Web development.
www.w3c.org

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

-4-

1990 :TBL/TimBL browser, runs on NeXT

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

-5-

1990 WWW background: what it was and


what it wasnt

Was by this time:


internet has already existed for a long while
Email, ftp, gopher and other file-exchange systems on the internet
Applei HyperCard (approximately like html, but in the area of one machine)
And there were earlier ides that were not realized :
ideas of Vannevar Bush from 1945, Doug Engelbarts classical demo from
year 1960 (mouse, windows co-operation over network) and
Ted Nelsoni unfinished project Xanadu (1965)

2006

Ted Nelson is a somewhat controversial figure in the computing world. For thirtysomething years he has been having grand ideas but has never seen them
through to completed projects.
His biggest project, Xanadu, was to be a world-wide electronic publishing
system that would have created a sort universal libary for the people.
He is known for coining the term "hypertext." He is also seen as something of a
radical figure, opposing authority and tradition. He often repeats his four maxims by
which he leads his life: "most people are fools, most authority is malignant,
God does not exist, and everything is wrong." (Wolf, 1995)

Berners Lee practically put together programming ideas and made a very
user-friendly system for end-users; HTML is very easy

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

-6-

1990: GNU UNIX almost complete

1990, the GNU system was almost complete; the only major
missing component was the kernel.

2006

The GNU Project was launched in 1984 to develop a complete


UNIX-like operating system which is free software: the GNU system.

It was decided to implement the kernel as a collection of server


processes running on top of Mach. Mach is a microkernel
developed at Carnegie Mellon University and then at the
University of Utah. The start of development was delayed as
people waited for Mach to be released as free software, as had
been promised.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

-7-

1990: MS and IBM end cooperation

Microsoft shipped Windows 3.0 on May 22.

IBM and Microsoft end cooperative work on operating systems,


dividing up work-to-date between them, in a series of crosslicensing agreements.
Microsoft will work on Windows, DOS, and a portable version of
OS/2.
IBM will continue development of 16-bit and 32-bit versions of OS/2.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

-8-

1990: Internet end-point in Estonia: e-mail and


USENET
With help of a borrowed modem from the Tampere university
(Robotics Courier V.32) the scientists of the Cybernetics Institute
(Aleksander Shmundak, Mari Kpp and Leonid Tomberg)
established a regular connection with the computer of the Finnish
Unix-user community (FUUG)
The computer of the Cybernetics Institute called the Finnish
computer every half an hour and downloaded the e-information (b
Mosaic v1.0 basically
is released.email)
For a monthly sum of about 400 rubels per month Estonian clients
could access their own modem the computer of the Cybernetics
Institute and send/receive emails
The ending of the email of the institute was .su, which meant
Soviet Union

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

-9-

1991

2006

Linus Torvalds, a student at the University of Helsinki in Finland,


starts working as a hobby on Linux. Linus had an interest in Minix, a
small UNIX system created by Tannenbaum, and decided to
develop a system that exceeded the Minix standards. He began his
work in 1991 when he released version 0.02
Linus used both Minix and Gnu for his work: essentially, Linux is a
Minix-inspired kernel for Gnu.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 10 -

1991

2006

Microsoft changes the name of OS/2 v3.0 to Windows NT.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 11 -

1992

2006

Microsoft stock reaches US$113/share, making Bill Gates the richest


man in the United States.
In the second year of the RS/6000 line, IBM has sold US$2 billion
worth.
Microsoft launches its first TV advertising campaign, for Windows.
Microsoft buys Fox Software for 1.36 million shares of Microsoft's
common stock, valued at US$17. million.
IBM ships OS/2 2.0. It requires an Intel 386 processor, 4 MB RAM,
and adds WIN-OS/2 3.0 for Windows 3.0 compatibility. Code name
during development was Cruiser.
Microsoft ships Windows 3.1. 1 million copies of the new and
upgrade versions are sold through retail channels within the first
50 days.
IBM and Microsoft sign a "divorce" document, allowing source code
sharing for current versions operating systems up to September
1993.
IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 12 -

1992: GSM mobile networks: first providers appear

1982 Nordic Telecom and Netherlands PTT propose to CEPT


(Conference of European Post and Telecommunications) the
development of a new digital cellular standard that would cope
with the ever a burgeoning demands on European mobile
networks.
1982 The European Commission (EC) issues a directive which
requires member states to reserve frequencies in the 900 MHz
band for GSM to allow for roaming.
1987 13 operators and administrators from 12 areas in the CEPT
GSM advisory group sign the charter GSM (Groupe Spciale
Mobile) MoU "Club" agreement, with a launch date of 1 July 1991.
GSM spec drafted.
1990 Phase 1 GSM 900 specifications are frozen. First GSM World
congress in Rome with 650 Participants
1992 January - First GSM network operator is
Oy Radiolinja Ab in Finland.

2006

1992 December - 13 networks on air in 7 areas. GSM World


Congress Berlin - 630 Participants
IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 13 -

1992: Real TCP/IP end-points in Estonia

Lippmaa organised the establisment of two expensive (KBFI) satellite


connections for real TCP/IP:

Tallinn(KBFI)-Stockholm(KTH) and
Tartu(Biokeskus)-Stockholm.

Ants Wrk from the Cybernetics Institute organised exernal cable


connection to Helsinki.
the KBFI satellite connection was ready one month earlier than the
Mosaic v1.0 cable
is released.
connection of Cybernetics Institute
Because KBFIs new internet-branch got ready before CIs
(Cybernetica Institute), they acquired the .ee domain, which was
different from the Soviet Union (.su)
They also started administrating Estonias internal internet.
Both CI and KBFI-BioCenter lived on external financing, but were
meant for academic users.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 14 -

1992: Wolfenstein 3d and what happened next

Wolfenstein 3D was originally released for DOS in 1992 by ID


Software. Main authors: Carmack & Romero. It is the first popular
3D first-person shooter.

Wolfenstein 3D is followed
by Doom, also by ID software.

Quake released 1996 by ID software.


Features support for the 3D graphics
ani- processor called Voodoo by 3dfx,
mation, released same year. Full 3d in real time achieved in Quake!
not After a while, a large number of 3D games appear, assuming
special 3D graphics instruction processors on users computers.
3d
These processors speed graphical programs up incredibly:
hundreds of times
In 2002, Nvidia buys 3dfx. Nvidia and ATI emerge as dominant 3D
graphics processor makers.
sprite

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 15 -

1993

2006

NeXT announces that it will drop its hardware line, to focus on


becoming a larger player in the object-oriented software industry.
Approximately 50,000 NeXT machines were built in total. It will lay
off 330 of its 500 employees.
Digital Equipment announces the 200-MHz Alpha 21064 processor.
Sun Microsystems ships the 50-MHz Sun SuperSPARC processor.
Intel introduces the Pentium processor. It uses 32-bit registers, with
a 64-bit data bus, giving it an address space of 4 GB. It
incorporates 3.1 million transistors, using 0.8-micron BiCMOS
technology. Speeds are 60-MHz (100 MIPS) and 66-MHz (112 MIPS).
Prices are US$878 (60-MHz) and US$964 (66-MHz).
Sun Microsystems, Novell, Hewlett-Packard, IBM and the Santa
Cruz Operation announce that they will work together toward a
unified UNIX operating system standard.
Motorola Corp. ships the first PowerPC 601 chips. The processors
use 2.8 million transistors, with 3 execution units.
Microsoft reports that there are 25 million licensed users of
Microsoft Windows.
IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 16 -

1993

2006

Apple Computer introduces the Newton MessagePad 100 personal


digital assistant at Macworld Expo, in Boston's Symphony Hall. It
features 640KB RAM, 3MB of ROM storing applications and the
operating system (Newton Intelligence), a low-voltage 20-MHz 32bit ARM 610 microprocessor, 240x336 resolution (85 dpi) 2.8 x 4inch LCD screen, one PCMCIA Type II expansion socket, data
transfer of 9600bps, and runs on four AAA batteries. 50,000 units
sell in the first 10 weeks, but only 80,000 are sold during the
product's life.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 17 -

1993: further development of the system of BernersLee at NCSA

First publicly available popular browser, free to download, runs on


several UNIX workstations:
NCSA Mosaic v1.0 is released.

NCSA: National Center for Supercomputing Applications

Mosaic v1.0 is released.

2006

MS Internet Explorer about in 2002 says: Based on NCSA Mosaic.


NCSA Mosaic(TM); was developed at the National Center for
Supercomputing Applications at the University of Illinois at
Urbana-Champaign.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 18 -

1994: NCSA www-meeskonnast tekib Netscape

Silicon Graphics co-founder James Clark leaves to start Mosaic


Communications. Mosaic soon renamed to Netscape.
Mosaic Communications releases Netscape Navigator 1.0, a worldwide web browser.

Asutajad: Clark ja Andreessen


Clark invested $4 millions.
Andreessen invested source
code and competence and team.
Microsoft offers Netscape US$1 million to license Netscape's
browser code. Netscape refuses.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 19 -

1994: Netscape message on USENET


From: Marc Andreessen (marca@mcom.com)
Subject: Here it is, world!
View: Complete Thread (30 articles) Original Format
Newsgroups: comp.infosystems.www.users,
comp.infosystems.www.providers, comp.infosystems.www.misc,
comp.infosystems
Date: 1994-10-13 06:51:10 PST
Mosaic Communications Corporation is a making a public version of
Mosaic Netscape 0.9 Beta available for anonymous FTP. Mosaic
Netscape is a built-from-scratch Internet navigator featuring
performance optimized for 14.4 modems, native JPEG support, and
more. You can FTP Mosaic Netscape 0.9 Beta from the following
locations:
.....

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 20 -

Mosaic and Netscape site logos 1994

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 21 -

1994: GNU/Linux version 1.0 and freeware BSD-s

2006

A freeware version of UNIX BSD branch: 4.4 BSD Lite at Berkeley


Linus Torvalds releases version 1.0 of the Linux Kernel.
NB! Freeware BSD-s and Linux are completely separate projects to
create freeware UNIX-es

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 22 -

1994

2006

Dr. Thomas R. Nicely of Lynchburg College notes that the Pentium


processor sometimes produces flawed floating-point results, yielding
only 4-8 decimals of precision.
IBM and Motorola announce the 100-MHz PowerPC 604 processor. The
604 has one floating-point unit, and three integer units. Two of the
integer units perform single clock cycle instruction, while the other
is used for integer multiplication and division.The processor uses
3.6 million transistors. Internally, 64 bits. Based on RISC ideas.
Apple starts using PowerPC instead of older Motorola processors.
First such Macintoshes are called PowerMac-s.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 23 -

1995: Netscape to stockmarket, WWW mainstream

2006

Netscape: brsile 5 miljonit aktsiat alghinnaga $28. Aktsiahind kasvab he


pevaga $75-le. 1996 lagi: 179$. 1996 lpp on hind ca $40. Enne ostmist
AOL poolt maksab Netscape stock ca 20$.
Microsoft asks Netscape Communications to agree to not develop
Netscape Navigator for Windows 95 and successors. Netscape refuses.
Free Apache web server released, using NCSA httpd 1.3 as a base.
History: first there was the Berners-Lee built server at Cern. Then NCSA
people created their own server.Rob McCool writes:
> How did you first get involved in the NCSA HTTPd project, and who else
> worked on that with you?
It was largely me, Eric Bina did some work on group annotations, and I took
some ideas/code/etc. from a number of people across the Web. If I tried to name
them I'd probably forget a lot of people. I first got involved because Marc wanted
to have a small, simple server that people could use with Mosaic. He felt the
CERN server was too large and complex, and that something small and easy to
understand would facilitate more widespread adoption.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 24 -

1995: Estonias first newpaper on internet

2006

Eesti pevaleht. http://www.zzz.ee/epl/


First number: 5.Oct. 1995
Participants of the start-up:
Tanel Tammet: pushing & actually daily issuing
Marek Strandberg: one of EPLs owners, actively pro
Ott Kstner: www.zzz.ee one of the owners and basic keeper
Kalle Muuli: main editor, was happy to participate

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 25 -

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 26 -

Postimees on the net: 1 December 1995

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 27 -

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 28 -

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 29 -

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 30 -

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 31 -

1995: Windows 95

2006

Microsoft releases Windows 95. More than 20,000 retail stores


offer copies for sale.
Windows 95 sports a GUI interface somewhat similar to
Apple Macintosh.
Microsoft prepares for support calls, with 1600 people
staffing tech support lines. 1 million copies of the new and
upgrade versions are sold through retail channels within the
first 4 days.
One month after the release of Windows 95, an estimated 7
million copies have been sold to end-users.
Microsoft releases Microsoft Internet Explorer 1.0.
Microsoft introduces Microsoft Office 95.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 32 -

1995: Pixars Toy Story

2006

First full-length feature film done entirely with 3-D animation.


Pixar was created by Jobs several years before.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 33 -

1995

Be Inc. introduces the BeBox

1990 saw Jean Louis Gasse and Steve Sakoman leave their
posts at Apple Computer and start working towards their dream of
creating a new kind of computer; one that would inspire both users and
developers. In late 1990, more Apple refugees, including Erich
Ringewald and Bob Herold, joined Gasse and Sakoman at their as yet
un-named company. ......

In January 1997, Be announced that it was ceasing production of


the BeBox, and would instead focus its efforts on further developing the
BeOS. Roughly 1800 BeBoxen had been manufactured.

2006

Borland International ships Borland Delphi.


Sun Microsystems announces sample availability of the 64-bit
UltraSPARC microprocessor.
IBM buys Lotus Development for US$3.5 billion in cash.
Sun brings out the portable Java language and associated libraries.
Java is initially used for writing small applets in HTML web pages,
but after a while focus shifts to ordinary programs without
browsers, especially on servers.
IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 34 -

1996

2006

NeXT ends development of the NeXTSTEP operating system.


Intel begins shipping the 200-MHz Pentium Pro processor.
Silicon Graphics buys Cray Research, at a cost of about US$765
million.
America Online agrees to bundle Netscape Navigator 2.0 with AOL's
GNN online service. AOL users will also be able to select Netscape
software to browse the web.
Microsoft agrees to bundle AOL software with Windows 95. AOL
agrees to make Microsoft Internet Explorer its built-in default
browser.
Microsoft releases Microsoft Internet Explorer 3.0.
Microsoft unveils Microsoft Office 97 at Fall Comdex. Prices:
standard edition US$499 (upgrade US$209), professional edition
US$599 (upgrade US$309)

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 35 -

1996: Palm Pilot

2006

U.S. Robotics debuts the Palm Pilot.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 36 -

1996: Internet Banks in Estonia

Spring Forekspank: first trials.

Summer Hoiupank: full operation.

Hansapank first hesitating.


according to inside rumours someone from management said:
internet is for the sexual minority.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 37 -

1997: Mac, MS, Gnu/Linux

2006

Microsoft ceases development of Windows NT for systems using


PowerPC processors.
Gilbert Amelio resigns as president, CEO, and chairman of Apple
Computers. His severance package is about US$7.5 million.
Steve Jobs begins designing what would become the iMac.
At Macworld Expo, Steve Jobs announces an alliance with Microsoft,
including an investment of US$150 million
Miguel de Icaza starts writing GNOME for GNU/Linux, developed
with the support of Red Hat Software, GNOME set out to provide
similar desktop facilities to KDE, but using free software
exclusively.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 38 -

1997: Computer chess finally wins big

2006

Deep Blue wins the reigning Wold Champion in Chess, Garri


Kasparov

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 39 -

1998: Netscape down, Mozilla born

2006

Netscape makes source code for Netscape Communicator 5.0 browser


available for free download on the Internet
Free Mozilla browser project started.
Netscape lays off about 400 employees.

The US Department of Justice and 20 state attorneys general file


antitrust lawsuits against Microsoft, regarding its marketing of
Internet Explorer.
Microsoft applies for, and receives, a stay of the December 1997
court order allowing Windows 98 to ship with Internet Explorer 4.
Microsoft ships Windows 98 to OEMs.

America Online buys Netscape Communications for US$4.2 billion


in stock. Before, Netscape stock was priced around 20$.
IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 40 -

1998: iMac, MS super market cap, Red Hat

2006

Steve Jobs introduces the iMac: 233 MHz PowerPC G3 processor,


32 MB RAM, 4 GB hard disk, 24X CD-ROM, 15-inch monitor, 66-MHz
system bus, for US$1299.
Intel announces the Pentium II Xeon processor.
Microsoft becomes the world's most valuable company, at
US$261.1 billion.
Red Hat Linux 5.2 is released. Red Hat emerges as a dominant
Linux packaging-and-support company.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 41 -

1999-2003: essential things in these 5 years

Freeware (GNU/Linux, Apache etc) changes in servers (not desktops)


into mainstream-tehnology
GNU/Linux is more important than other UNIXs. At the same time it
didnt become a real competitor to Windows on desktops.
3D graphical processors change into essential standard-merchandise.
Apple changed to UNIX-based operating system (OS X).
Microsoft converged Windows 95/98/ME and NT/2000: Windows XP
HTMLs limitations brought along needs for XML-based technologies.
Peer-to-peer (P2P) technology-based file-exchange systems ((Napster),
(Morpheus), Kazaa, eDonkey, etc) appeared and became very popular.
Instant messengers become popular as alternatives/fill-ins to emailile
(AOL, Microsoft etc)
Buzzwords now (Warning! They are only in development phase, not
mainstream technologies!):

2006

Close range perspectives: network services (XML sites and software for
XML transformation).
Longer range perspektives: semantic-web-based technologies.
IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 42 -

1990-2002: share-bubble, end of 90s dot-com hype,


crash!

speculators decide to buy in anticipation of further rises,


rather than because the shares are undervalued !!!

1990-1996 grew USAs stockmarket (DOW as well as NASDAQ indexes) much


faster than in the previous decades.
1996 the Feds management Greenspan, guessed that the growth has been too
fast (irrational exuberance speech)
at the end of the 90s interneti became mainstream-technology
Many companies were born, which did not produce any profits, only spent
money, but their shares were bought by huge price.
This did cause rise of the price for those companies which produced profits.
in the beginning of 2000 NASDAQ index was still over 4500.
2002 autumn it was 1139!
2000-2002 NASDQ just like DOW have been constantly coming down
Analogy in Estonia : stockmarket-bubble 1997
General distress 2002 till 2003

2006

Suddenly comes the same downfall, as the big crash and depressioon in the 1930s
What if the same Japanese-like scenario happens, after the 1990 crash share prices go
down continuously afterwards for over 10 years!

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 43 -

Internet Stocks

Example of IPO craze.


- IPOs issued Thursday, 10/12/98
Offering Fridays

theGlobe.com
EarthWeb

Price

Close

$ 9.00
$ 14.00

$ 63.00
$ 67.00

theGlobe Web site now:


In 1995, theglobe.com confirmed the Internet's power to connect
people worlds apart. Unfortunately, after six amazing years,
theglobe.com closed its doors on August 15, 2001, though our
award-winning games properties remain available at the links
below.

Nasdaq:1999-2003 autumn

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 45 -

Nasdaq longer period:1985-2003 autumn

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 46 -

Nasdaq and Dow Jones: 1985-2003 autumn

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 47 -

Nasdaq: 1978-2002, weekly plot, logarithmic

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 48 -

share bubblehistory

Internet-share bubble 1995-2001 is not the first of its kind

Three types of basic bubbles (Kolm phi-mullitpi):

2006

Overvalued investments into assets of low usefullness


(tulip mania in Holland 1630, Japanese real estate stocks in 1980-s)

Over investment into companies with high valued assets


(railroad stocks 1800, internet and IT stocks in 1995-2001)

Overvaluation of shares of generic companies


(before great depression in 1930-s,
stock market in general 1995-2001,
Eesti stock-bubble 1997

An example similar to the widespread-ness of internet, the railway-boom:


Railways changed the economy to much more effective
In the beginning many railway-companies were established
Most of them went bankrupt
A small amount (that was left) became a big company
IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 49 -

similar bubbles
of other technology-inspired booms of the past
including railroads in the 1840s,
automobiles and radio in the 1920s,
transistor electronics in the 1950s,
computer time-sharing in the 1960s, and
home computers and biotechnology in the early 1980s.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 50 -

1929 crash and the great depression: Dow Jones

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 51 -

Talse 1999-2001: stock bubble in Estonia in 1997

IBM announces it will begin distribution and technical support for the Linux operating system on
its systems.
Microsoft releases Internet Explorer 5.0.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 52 -

Japanese Real Estate,1955-90

Real estate values increased 75 times.

In 1990 real estate was valued at nearly $20 trillion.

20% of worlds wealth.

5 times the value of all US property.

Japanese Stocks,1955-90

Prices increased 100 times.


Japanese stocks accounted for 45% of the value of worlds equity
market.
Japanese stocks were valued at 1.5 times the value of all US
equities.
Market price-to-earnings ratio was 60.

Wide S&P indeks on a logarithmic scale up till 2000

Wide S&P indeks 1996-2002: head & shoulders

Microsoft

2006

Market cap:$ 235.4 B, veidi allpool General electricut.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 57 -

Sun Microsystems: 1987-2002 autumn.


Aug 2003: ca 3

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 58 -

Red hat: Linux packager and supportprovider

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 59 -

Red hat: 1-7 oct 2002 (in autumn 2003 again ca 9.5)

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 60 -

Kopin corp 3 months 2002:


innovative electronics firm (autumn 2003: ca 7)

2006

KOPN: Brings mh mainstream-microdisplays (in mobiles, etc)

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 61 -

Ericsson: 2002 oct: 0.41, 1980 keskpaiga hinnatase

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 62 -

Old economy: General electric 1960-2002 autumn

2006

Market cap: $ 238.9 B

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 63 -

List of well-known dot-coms

2006

Amazon.com
Boo.com: Now owned by Fashionmall.com
CDNow: Now owned by Amazon.com
eBay
eToys: Went bankrupt in 2000.
Excite@Home
Freeinternet.com - The 5th largest ISP and famous for its mascot "Baby Bob",
the company went bankrupt in 2000. Baby Bob was later sold to Quiznos Sub.
Google
Kozmo.com: Shut down in April 2001
Kibu.com: Shut down in October 2000
Netflix
PayPal: Now a subsidiary of eBay
Pets.com: Bankrupt
Priceline.com
Webvan: Bankrupt
Yahoo!

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 64 -

Next

2006

Read more : Howard Rheingold, Eric Raymond, Richard Stallman, Philip


Greenspun, ... www.jwz.org ....

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 65 -

literature

2006

http://en.wikipedia.org/wiki/Dotcom_bubble
http://www.epl.ee/?artikkel=1766 (in Estonian)
www.w3c.org
http://en.wikipedia.org/wiki/Tim_Berners-Lee
http://www.gnu.org/
http://anton.felixclub.ee/SissejuhatusIT/all.txt

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 6

pg

- 66 -

Introduction into informatics

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

-1-

Overview on the lecture


Software (SW) basic working principles and programming language
hierarchy

Hardware (HW):
Components of Hardware
Processor`s working basics

Programming languages hierarchy and mechanics (will continue next


lecture)
Assembler
C
C and assembler
C and memory management
High level languages
Garbage collection
Lists
Languages

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

-2-

Structure of next lectures

Lectures start from HW level (transistors) and move towards higher and
higher levels of abstraction:

Hardware
Processor programming, assembler
High-level languages: convenient programming
Assembling big application systems, op(erating)system, usage of
components
Assembling Network applications: mass of computer as components
of the application
Extremly powerful high-level languages, functional and logic
programming
About theory: complexity, solvability: how fast can be smth
calculated, what can be calculated
Artificial Intelligence (AI)
IT business and management: how to get money

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

-3-

Basics about abstractions

High-level languages, components, network, etc. is necessary only for


the developer to build applications faster.
Developer thinks on the level of abstraction , finally everything works
on transistors..
Abstractions are leaking: for each abstraction level it is needed to
understand, how does the lower i.e. less abstract level work.
Its always necessary to do something at the bottom level!!!
Read more: The law of leaky abstractions:
http://www.joelonsoftware.com/articles/LeakyAbstractions.html

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

-4-

Components

Main idea: transistors as switches with a breaking-motor


Switch B:
power in, 1: interrupt
power out, 0: connect

input A:
power in: 1
power out: 0

output C:
power in: 1
Power out: 0

C = (A and -B)
From smaller components are built bigger ones, out of which even
bigger ones.
Components are like black boxes: we know their output in case of a
certain input, but in most cases not their technical content.

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

-5-

components (Eck)
(A and C) or (B and (not C))

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

-6-

components (Eck)
(A and (not B)) or (B and (not A))

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

-7-

four-bit adder

Eight plus two input wires, four plus one output wires

1011
0110
----10001

IT Kolledzh/TT 2003

1111
0001
----10000

T.Tammet

1111
1111
----11110

IT sissejuhatus loeng 7

1010
0101
----01111

lk

-8-

0111
1010
----10001

0001
0011
----00100

Memory

Feedback

Switchable feedback: trigger

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

-9-

One-bit memory chip

Two input and one output wire

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

- 10 -

Guarded 1-bit memory chip

Extra switch for turning chip on or off

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

- 11 -

RAM

Random-access memory

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

- 12 -

Ecks xComputer

Computer`s basic parts (procsessor + memory) simulation with small


Java program.

Command system is very similar to first real-microprotsessors

Easier understandability because of using 2-by (16-bit) memory cells,


not 1-byte as in ordinary computers.

Memory is 1024 cells (1 K), i.e. 2 Kbytes


For addressing we use 10 bits

First home computers had also 4-16 Kbytes (approx same amount of
memory)

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

- 13 -

Ecks xComputer ...

Essential: inside processor there is a small amount of special-memorycells (registers)

Operations can only be done with (between) registers.

Impossible to add 2 values that are in memory:


first they have to be copied into registers, so there they are added and
the result register (so-called accumulator) is written into memory.

place, showing which memory location/cell is read/written is shown by


the ADDR register.

place, from where the next operation/command is fetched (taken) is


shown by the PC (program counter) register.

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

- 14 -

Execution of operations/commands

Two cycles within each other:

outside cycle increments in the PC (program counter) in each cycle,


which means that in each cycle the operation is taken from the next
memory location.

Inside cycle inside each operation. During the internal cycle


a number of small steps are executed (micro-steps; micro-code).
One small step corresponds to a current/voltage to certain
connector/wire with triggers logical operations in the processor the
result of which goes to multiple registers..

The machines cycle frequency is the frequency of how fast the microsteps are executed. To start each micro-step a machine tick is
necessary, which gives a certain impulse (trigger).

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

- 15 -

xComputers basic registers

The X and Y registers hold two sixteen-bit binary numbers that are
used as input by the ALU. For example, when the CPU needs to add
two numbers, it must put them into the X and Y registers so that the
ALU can be used to add them.
The AC register is the accumulator. It is the CPU's "working memory"
for its calculations. When the ALU is used to compute a result, that
result is stored in the AC. For example, if the numbers in the X and Y
registers
are added, then the answer will appear in the AC. Also,
data can be moved from main memory into the AC and from the AC into
main memory.
The FLAG register stores the "carry-out" bit produced when the ALU
adds two binary numbers. Also, when the ALU performs a shift-left or
shift-right operation, the extra bit that is shifted off the end of the number
is stored in the FLAG register.

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

- 16 -

... Registers ...

The ADDR register specifies a location in main memory. The CPU often
needs to read values from memory or write values to memory. Only one
location in memory is accessible at any given time. The ADDR register
specifies that location. So, for example, if the CPU needs to read the
value in location 375, it must first store 375 into the ADDR register. (If
you turn on the "Autoscroll" checkbox beneath the memory display, then
the memory will automatically be scrolled to the location indicated by the
ADDR register every time the value in that register changes.)
The PC register is the program counter. The CPU executes a program
by fetching instructions one-by-one from memory and executing them.
(This is called the fetch-and-execute cycle.) The PC specifies the
location in memory that holds the next instruction to be executed.
The IR is the instruction register. When the CPU fetches a program
instruction from main memory, this is where it puts it. The IR holds that
instruction while it is being executed.

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

- 17 -

... Registers ...

The COUNT register counts off the steps in a fetch-and-execute cycle. It


takes the CPU several steps to fetch and execute an instruction. When
COUNT is 1, it does step 1; when COUNT is 2, it does step 2; and so
forth. The last step is always to reset COUNT to 0, to get ready to start
the next fetch-and-execute cycle. This is easier to understand after you
see it in action. Remember that as the COUNT register counts 0, 1, 2,...,
just one machine language program is being executed

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

- 18 -

Hierarchy of wired assemblerini

First programming method: wires and connectors

Second: von Neumanni arhitektuur, program in memory as binart code:

010111010100101
110101011010100
111010100101001
101010100101001
110101001010010
101001011101010

101010101001
101010010100
110101111010
110011010101
101001000111
110101001001

(number counting 0n)

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

- 19 -

Hierarchy...
Less writing:
AB05 E3D5
CD01 032A
4BD0 CDE1

8- bit coding (octa):

0000 = 0
0001 = 1
0010 = 2
0011 = 3
0100 = 4
0101 = 5
0110 = 6
0111 = 7
1000 = 8
1001 = 9
1010 = A
1011 = B
1100 = C
1101 = D
1110 = E
IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

- 20 -

Sumto in assembler of MIPS-I (SGI spinoff)

Arguments into register $4 ja $8


Result into register $2

sumto:

L5:

L3:

li
li
blt
addu
addu
ble
move
Jr

IT Kolledzh/TT 2003

$3,
$2,
$4,
$3,
$2,
$2,
$2,
$31

T.Tammet

0
0
$0,
$3,
$2,
$4,
$3

L3
$2
1
L5

;
;
;
;
;
;
;
;
;

Register $4 is n
Register $3 is a sum
Register $2 on i
If n<0 go L3
sum = sum + i
i = i + 1
If i<=n go L5
Sum contains result.
Go to adress in register $31

IT sissejuhatus loeng 7

lk

- 21 -

Sumto and assembler of Sun Sparc


Sparc sends arguments in register %o0 till %o7 and result %o0
Instruction after a jump is always done
_sumto:
; Register %o0 is n.
mov %o0,%g3
; Save n into register %g3.
mov 0, %o0
; Register %o0 is now sum.
cmp %o0,%g3
; If 0>n ...
bg L3
; ... go L3
mov 0, %g2
; ,but before i=0.
add %o0,%g2,%o0 ; sum = sum + i.
L5:
add %g2,1 ,%g2 ; i = i + 1.
cmp %g2,%g3
; If i<=n ...
ble,a L5
; ... go L5
add %o0,%g2,%o0 ; ,but before sum = sum + i.
L3:
retl
; Ready...
nop
; ,but before do nothing!

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

- 22 -

Sumto and Intel 386, 486, Pentium, ...


386 has few registers, argument is sent through ordinary memory.
Result is sent to register %edx.
_sumto:
pushl %ebp
; create ''framepointer-i
movl %esp,%ebp
;
movl 8(%ebp),%ecx ; take n.
xorl %eax,%eax
; sum = 0
xorl %edx,%edx
; i = 0
cmpl %ecx,%eax
; if i>n ...
jg L3
; ... go L3
.align 2
L5:
addl %edx,%eax
; sum = sum + i
incl %edx
; i = i+1
cmpl %ecx,%edx
; if i<=n ...
jle L5
; ... go L5
L3:
leave
; recover ebp.
ret
; ready!

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

- 23 -

Simpler, Ecks assembler

This program counts. It starts by putting the number 1 into memory


location 12, and then it adds one to the number in that location over and
over, forever.

lod-c 1
sto 12
lod 12
inc
sto 12
jmp 2

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

- 24 -

Simpler, Ecks assembler

Loop:

LOD-C 1
STO Count
LOD Count
INC
STO Count
JMP Loop

@12
Count: data

IT Kolledzh/TT 2003

T.Tammet

; Set Count equal to 1


; Add 1 to Count

; Jump back to start of loop

; Location to be used for counting

IT sissejuhatus loeng 7

lk

- 25 -

Subprograms usage
lod-c 13

; Set up to call the subroutine with sto N1


; N1 = 13, N2 = 56, and ret_addr = back.

lod-c 56
sto N2
lod-c back
sto ret_addr
jmp Multiply
back: lod Answer

hlt

IT Kolledzh/TT 2003

; Call the subroutine.


; When the subroutine ends, it returns
;
control to this location, and the
;
product of N1 and N2 is in Answer.
;
This LOD instruction puts the answer
;
in the accumulator.

; Terminate the program by halting the computer

T.Tammet

IT sissejuhatus loeng 7

lk

- 26 -

High-level languages

Automate and make it easier to write masses of ordinary procedures,


which are necessary to do in assembler

Dont give as much control of the machine as assembler

High-level languages are at a different level of abstraction:

Closer to machine level and unconvenient: Fortran, C (portable


assembler)

More absrtact and convenient: Lisp, Ada, ML, Java, .

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

- 27 -

Fortran vs LISP: summing numbers 0n


FORTRAN
INTEGER FUNCTI0N sumto(n)
isum = 0
DO i 10 = 0,n
isum = isum + i
10 CONTINUE
sumto = isum
RETURN
END

LISP

(defun sumto (n)


(if (= 0 n)
0
(+ n (sumto ( n 1))) ))
IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

- 28 -

Sumto and Modula-2


PROCEDURE sumto(n:INTEGER):INTEGER;
VAR sum,i:INTEGER;
BEGIN
sum:=0;
FOR i:=0 TO n DO
sum:=sum+i
END;
RETURN sum
END sumto;

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

- 29 -

Sumto and Ada


function sumto(n:
sum : INTEGER
begin
for i in 0..n
sum := sum
end loop;
return sum;

IT Kolledzh/TT 2003

T.Tammet

in INTEGER) return INTEGER is


:= 0;
loop
+ i;

IT sissejuhatus loeng 7

lk

- 30 -

Sumto and C
int sumto(int n) {
int i,sum = 0;
for(i=0; i<=n; i=i+1)
sum = sum + i;
return sum;
}

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

- 31 -

literature

David Eck: Labs and Applets for


The Most Complex Machine
http://math.hws.edu/TMCM/java/index.html

IT Kolledzh/TT 2003

T.Tammet

IT sissejuhatus loeng 7

lk

- 32 -

Introduction to Information
Technology

IT Kolledzh/TT E.Domiczi based on T.Tammet

Lecture overview

Languages: basic ideas, examples

Cache memory-hierarchy

Operating systems

2006

Basic goals
Basic technologies
Types
Overview of main Operating Systems (OpSys)

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

-2-

Assembler: sumto ja Intel 386, 486, Pentium, ...


386 has few registers, argument is sent from ordinary memory.
Result is sent to register %edx.
_sumto:
pushl %ebp
; We create ''framepointer-i
movl %esp,%ebp
;
movl 8(%ebp),%ecx ; Take n.
xorl %eax,%eax
; sum = 0
xorl %edx,%edx
; i = 0
cmpl %ecx,%eax
; If i>n ...
jg L3
; ... goto L3
.align 2
L5:
addl %edx,%eax
; sum = sum + i
incl %edx
; i = i+1
cmpl %ecx,%edx
; If i<=n ...
jle L5
; ... goto L5
L3:
leave
; Restore ebp.
ret
; Ready!

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

-3-

High-level languages

Automate and make it easier to write masses of ordinary


procedures, which are necessary to do in assembler

Dont give as much control of the machine as assembler

High-level languages are at a different level of abstraction:

2006

Closer to machine level and unconvenient: Fortran, C (portable


assembler)

More absrtact and convenient: Lisp, Ada, ML, Java, .

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

-4-

How is a program written in language X is executed?


Keep in mind that: the computer can execute only machine-language
programs.
Basically there are two variants of executing a program in language X.
Interpreting: the program called the interpreter reads a file in
language X and executes it line by line. For example: old BASIC.

Compiling: the program called the compiler transforms the program


in language X into a machine code file Y. Afterwards the machinecode program Y is executed. For example: C.

NB!

2006

Interpreting a program is a bout 10-200 times slower than


executing compiled code.
Basically a program in any language can be either interpreted or
compiled..
In practice sometimes interpreting, sometimes compilation is
preferred.
IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

-5-

How to execute a program in language X ?


Compromise variants:

The compiler compiles file X into intermediate code Y, afterwards


the intermediate code Y is interpreted (Python, Java).

Interpreter interprets intermediate code Y, but during execution time


compiles part of Y into machine code, which is afterwards executed
(Java) , so-called just-in-time compilation, or JIT.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

-6-

Distinctions in languages: 3 basic issues

Syntax (how to write, e.g. if .. then .. else in one or another language)

Semantics or meaning (what the correctly written program actually


does)

Libraries) (what kind of ready program stubs are easily available for
that language or already come along)

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

-7-

Languages: typical things offered by almost each language

2006

Primitive data types:


int, char etc (e.g.: 1 and 3 are ints-id, c and a are chars)
string (e.g. aaa123bb)
array (e.g. a[1]=2; a[2]=20; a[3]=15; y=2; x=a[y]+a[1]+3;)
Expressions:
e.g. x = (y*2) (5+x);
Elementary control structures:
choice: if ... then ... else
cycle: while(x<10) x=x+1;
Functions:
definition: int cube(int x) { return x * x * x}
usage: x = cube(1+ cube(3))+ cube(y);
recursive usage:
int fact(int x) { if (x<=0) return 1; else return x*(fact(x-1)); }

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

-8-

Languages: examples of extra possibilities in various


languages

2006

Fast bit-operations, direct memory access : C


More complex data types: lists, hash tables, etc.: Lisp, Scheme, Python
Special constructs for string operations: Perl, PHP
Objects: C++, Java, C#, Python, Lisp
Modules (mainly connected to objects): C++, Java, C#
Error-processing constructs (exceptions): Python, Java, C#

Garbage collection: unused data thrown out (and collected)


(Java, Python, Lisp, ...)
Built-in support for for parallel-programming: Java, C#
Real-time constructs : Ada
Templates : PHP, JSP, Pyml
Constructing programs while executing: Lisp, Scheme
Logic rules: Prolog
lazy function evaluation method: Miranda, Hope, Haskell
Pattern matching (a way of function definition): ML, Haskell
etc...
IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

-9-

Fortran: summing numbers 0n

FORTRAN

INTEGER FUNCTI0N sumto(n)


isum = 0
DO i 10 = 0,n
isum = isum + i
10 CONTINUE
sumto = isum
RETURN
END

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 10 -

LISP: summing numbers 0n

LISP

(defun sumto (n)


(if (= 0 n)
0
(+ n (sumto ( n 1))) ))

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 11 -

Sumto and Modula-2

Modula-2

PROCEDURE sumto(n:INTEGER):INTEGER;
VAR sum,i:INTEGER;
BEGIN
sum:=0;
FOR i:=0 TO n DO
sum:=sum+i
END;
RETURN sum
END sumto;

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 12 -

Sumto and Ada

Ada

function sumto(n:
sum : INTEGER
begin
for i in 0..n
sum := sum
end loop;
return sum;

2006

in INTEGER) return INTEGER is


:= 0;
loop
+ i;

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 13 -

Sumto and C

C (ja Java)

int sumto(int n) {
int i,sum = 0;
for(i=0; i<=n; i=i+1)
sum = sum + i;
return sum;
}

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 14 -

Cache and memory hierarchy

2006

Picture with explanation on (black)board.


Alternative: read the following additional maerial:
Computer Systems: a programmers perspective

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 15 -

Why Operating System (OpSys) ?


OpSys basic goals:

Offer programmers a ready standardized piece (of software).


To give possibility for the computer user to act homogeneously and as has
been used to independently of the programming environment or the
computer.

Why OpSys ?
Computers can also be programmed without an OpSys. In that case:

the creation of every program would be much more difficult.


for users different programs would look very different.

An operating system (OS):

2006

is a computer program that manages the hardware and software resources of a


computer.
performs basic tasks such as
controlling and allocating memory,
prioritizing system requests,
controlling input and output devices,
facilitating networking, and
managing files.
may provide a graphical user interface for higher level functions.
IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 16 -

What OpSys mostly does?

Can read programs from disk and make them run (execute; XEQ).
Can stop programs (finally or for just a short pause)
Can write files and catalogs on a disk and read them from there.
Can communicate with devices (printer, monitor, keyboard). Can
communicate with network.
and so on
if there would not be opsystems, each program would have to be able to do
these things itself!
An operating system (OS):

2006

is a computer program that manages the hardware and software resources of a


computer.
performs basic tasks such as
controlling and allocating memory,
prioritizing system requests,
controlling input and output devices,
facilitating networking, and
managing files.
may provide a graphical user interface for higher level functions.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 17 -

Naked machine

What is there in the naked machine (unclothed by an OS)?

2006

CPU (registers, opcodes),


Memory (may be several chunks),
Devices (mapped to memory locations, able to transfer data to
and from memory).

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 18 -

Definitions of OS!?

2006

Extended machine, or virtual machine. Takes the basic hardware,


and provides additional layers of functionality. The virtual machine
is usually simpler and more consistent than the real machine.
Practically, additional layers will build on the lowest-level ones,
providing a rich programming model for the applications software
(which in turn provides a 'virtual machine' to the user).
Resource manager. Allocates scarce resources, like disk space,
memory, processor between competing processes and users.
Each process thinks that it has its own machine (its own files, its
own printer, whatever). In a way, this is also extending the machine
(in order to appear to be many machines).
Anything which runs in the computer's privileged mode, or supervisor
mode. Typically most modern processors have two or more
operating modes, user and supervisor. In supervisor mode, able to
access all of memory and all hardware.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 19 -

Definitions of OS!?

The software which is supplied with the machine. Often includes many
things not traditionally considered part of the operating system,
like GUIs, editors, Web browsers, and stuff.

A platform on which other software can run. Lots of platforms are not
operating systems (like Netscape Navigator, or Microsoft Word).
Java is almost an operating system. Provides many services
commonly associated with Operating Systems, like managing
multiple concurrent processes, and providing access to files.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 20 -

Development History of Operating Systems

2006

Computers without OpSys


Batch processing systems
Multiprocessing and terminals - UNIX
Personal computers - IBM, Xerox, Apple, DOS, Windows

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 21 -

The Role of the Opsys

Programs

Services
Virtual
Interface

OS Core
Physical
Interface

HardWare
2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 22 -

OS layers

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 23 -

Characteristics of Operating Systems

2006

Functionality
Process administration
Memory administration
File systems
Network protocols
User administration

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 24 -

Interrupts

The interrupt handler must save the machine state, do some


processing, then call the process scheduler and dispatcher.

When an interrupt occurs


1.the processor hardware makes a quick copy of the program counter and
CPU registers
2.the hardware switches to kernel mode and jumps to the interrupt service
routine
3.the ISR is usually very short. It may inform a device driver that it received the
interrupt; it may just increment some clock counters.
4.next the ISR calls the scheduler, which decides which process to run
5.the scheduler calls the dispatcher, and new process (or maybe the same
process) resumes where it left off

2006

An important goal of the OS is to hide interrupts from the user--and from user-level processes.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 25 -

Processes have their own memory areas

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 26 -

Processes wait and run when chance comes

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 27 -

Overview of main OS-es: main Microsoft OS-es

MS-DOS is a text-based desktop operating system made by


Microsoft that runs on Intel 80x86. Only low end servers can run on
this operating system.

Windows 98, Windows 95, and Windows 3.1 are desktop operating
systems made by Microsoft that run on Intel Pentium and Intel
80x86. Only low end servers can run on these operating systems.

Windows NT, Windows NT Server, and Windows NT Server


Enterprise Edition are server and workstation operating systems
made by Microsoft that run on Intel Pentium, Intel 80x86, and DEC
Alpha.

Windows 2000 Professional, Windows 2000 Server, and Windows


2000 Advanced Server are server and workstation operating
systems made by Microsoft that run on the Intel Pentium.

Windows XP is a server and workstation operating system made by


Microsoft that run on the Intel Pentium. Converges 95 and NT/2000.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 28 -

OS-es: IBM PC os-s

PC-DOS-2000 is a text-based desktop operating system made by


IBM as an update of the older MS-DOS. It runs on Intel 80x86. Only
low end servers can run on this operating system.

OS/2 is a high performance desktop and high end operating


system made by IBM that runs on Intel Pentium and Intel 80x86.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 29 -

OS-es: Apple

Macintosh OS 9, OS 8, OS 7, and OS 6 are desktop operating


systems made by Apple Computers that run on Motorola/IBM
PowerPC and Motorola 680x0.

Rhapsody is a UNIX-based operating system that includes


capabilities from the NeXT and Macintosh operating systems.
Rhapsody was a foundation for OS X of the Macintosh.

Macintosh OS X (ten) is a desktop operating system based on


Rhapsody. Macintosh OS X is made by Apple Computers and runs
on Motorola/IBM PowerPC.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 30 -

OS-es: main free UNIXes

LINUX is a free version of UNIX that runs on Intel Pentium, Intel


80x86, Motorola/IBM PowerPC, Motorola 680x0, Sun SPARC, SGI
MIPS, DEC Alpha, HP PA-RISC, DEC VAX, ARM, API 1000+, and
CL-PS7110.

FreeBSD is a free version of UNIX that runs on Intel Pentium and


Intel 80486.

NetBSD is a free version of UNIX that runs on Intel Pentium, Intel


80486, Intel 80386, Motorola/IBM PowerPC, Motorola 680x0, Sun
SPARC, HP PA-RISC, DEC VAX, and ARM.

OpenBSD is a free version of UNIX that runs on Intel Pentium, Intel


80486, Intel 80386, Motorola/IBM PowerPC, Motorola 680x0, Sun
SPARC, HP PA-RISC, DEC VAX, and ARM.

GNU Hurd is a free UNIX-based operating system.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 31 -

OS-es: main common commercial UNIXes

Solaris is a UNIX-based operating system made by Sun Computers


that runs on Sun SPARC and Intel Pentium.

Sun-OS is an older text-based UNIX that runs on Sun SPARC.


Solaris is an enhancement of Sun-OS that includes a graphic user
interface.

AIX is IBMs version of UNIX.

HP-UX is a UNIX-based operating system made by Hewlett-Packard


that runs on HP PA RISC.

ULTRIX is a UNIX-based operating system made by DEC. ULTRIX


has been replaced by Digital UNIX.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 32 -

Major handheld operating systems

2006

Palm OS
Windows CE
Symbian

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 33 -

OS-es: less common

2006

IRIX is a UNIX-based operating system made by SGI that runs on


SGI MIPS.
NeXT is a UNIX-based operating system made by NeXT that runs
on Intel Pentium, Intel 80486, and Motorola 68040. OpenSTEP runs
on Intel Pentium, Intel 80486, Motorola 68040, Sun SPARC, and HP
PA RISC.
MVS is a mainframe operating system made by IBM
VMS is a high performance operating system made by DEC that
runs on DEC VAX. OpenVMS is an updated version of VMS.
NetWare is a dedicated network operating system that runs on
Intel Pentium, Intel 80486, and Intel 80386.
BeOS is a high performance desktop operating system made by Be
that runs on Motorola/IBM PowerPC and Intel Pentium. Only low
end servers can run on this operating system.
AmigaOS is an old but popular operating system that is being
resurrected. Only low end servers can run on this operating
system.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 34 -

How Unix spread

After AT&T was forced to abandon commercial computing as part


of an antitrust settlement, AT&Ts UNIX was made available for free
to the academic community. Because UNIX had been designed in a
way that made it easy to port (move) to new hardware, colleges
and universities that switched to UNIX were able to run a single
operating system on all of their computers, even if their computers
came from multiple manufacturers.

Eventually UNIX spread into the business community, and


pushed aside almost all proprietary mainframe and minicomputer
operating systems. Only IBMs MVS and DECs OpenVMS survived
in common use (MVS because of the sheer number of installations
using it and OpenVMS in the banking and financial community
because of its high reliability, security, and preservation of data).
Even IBM and DEC ended up offering their own versions of UNIX
as well as their proprietary operating systems.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 35 -

UNIX families till 1993

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 36 -

Linux & FreeBSD comparison

2006

Linux
Distributed development
Different editions
More modern
Wider hardware support
SysV origin
User friendlier

FreeBSD
Tuumikmeeskond
One edition at a time
More Stabil
Small hardware support
BSD origin
Technically better integrated

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 37 -

Compatibility of Operating Systems

Distributing resources with SMB protocol

X-Windows
Windows emulators in UNIX: Wine, Wabi
Support of foreign/alien file systems
Compatibility with Macintosh computers

netatalk pacakage in UNIX

Example and instructions on Replacing Windows NT Server with


Linux:

2006

Samba package in UNIX

http://citnews.unl.edu/linux/LinuxPresentation.html

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 38 -

Samba
http://fi.samba.org/samba/
Realization of SMB and CIFS protocols in UNIX
Enables replacing of NT and OS/2 Warp servers

2006

SMB file and printing services


NetBIOS type nameserver, also Master Browser
can participate in NT domain
supports authentication with (non-)encrypted passwords
PDC functionality is still partial
SWAT: The Samba Web Administration Tool /
Configuration tool with web GUI
http://samba.org/samba/docs/man/Samba-HOWTO-Collection/SWAT.html

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 8

pg

- 39 -

Introduction to Information
Technology

IT Kolledzh/TT E.Domiczi based on T.Tammet

Software architecture and paradigms

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

-2-

Components of Software packages: 1

In principle software is built of many components. These components


can be classified as follows:

Complete end-user applications (word-processing, bookkeeping, chess,


etc.), which often (not always) can be connected/integrated into other
SWs via programming.
For instance Microsoft Office applications (Word, Excel, etc) can
be bound via the programmable VisualBasic development
package. One has to take into account that these programs have to
be bought and installed on the computer.
This scheme is more often used on the Windows OpSystem.
Many database systems are analogous, e.g. Oracle, Sybase, etc.
Whereby sometimes the one database system can be changed to
another similar one. osseisus.

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

-5-

Components of Software packages: 2

Big ready-components (database-server, www-server, mail-server components,


graphic servers (like X11), OpSystems themselves, etc.

These programs can be used stand-alone, but typically are customized for
the end-users as special separate applications, a la:
.....
cursor=con.cursor()
sqlstr=select clientid, clientname
from clientbase
where clientname like %Jaan%
cur.execute(sqlstr)
results=cur.fetchall()
for i in results
print id: ,i[0],name: ,i[1]
......

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

-6-

Components of Software packages: 3

Concrete, bounded functions (graphical drawing to screen, arithmetics,


file reading and writing, build up an internet connection to a certain
address, etc.) are realised by small components and their sets, socalled libraries.

For the distribution of such components a set of compilers and


other SW-development tools are used and they can be used only
with those programming language and development environment
setup. komplektis kompilaatorite ja muude tarkvaraarendusvahenditega ning nad on enamasti kasutatavad ainult selle
konkreetse programmeerimiskeel

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

-7-

Closed and open systems

2006

Network of open and closed systems.

Many SW components serve many users in server computers,


which are connected to a network.
For private users they basically offer siervices. Primary is the easy
connectivity into a network and with other software components.

For such an approach the main basic platform is a Unix-based


server, with big databases and search-applications.
The end user pc communicates through net (mainly internet) with
the server and can have any operating system.
Often the user communicates via an ordinary Browser, which can
execute Java-language programs.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

-9-

Libraries

View 3: application libraries

Most languages do NOT have standard libraries or they are very limited

E.g.: ANSI C. ANSI C library contains string-processing, file-processing,


printing, and a couple of analog categories.

As a rule there are powerful application-libraries (graphics, windows,


mouse-handling, network connections, parallel processing, etc)
non-standard, limited HardWare with OpSystem
(Windows 95, Windows NT, X windows, Linux, ...)

2006

Almost the only exception: Java

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 15 -

Practical application domains

Universal, except for applications

requiring high speed or


for operating systems:

Java

Applicatioins requiring maximum speed,


UNIX system-programming: C, C++

Windows application programming: VisualBasic, Java, Delphi, C

Network-client programming: Java + Javascript

Server programming: Java, Perl, PHP, Python, C, ..

Specific applications: as per requirements

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 16 -

Development environments

2006

Programming languages, compiler

As a rule to create SW one has to be able to write in a specific


language, which is possible via special education and long practical
experience.

In the world there are thousands of programming languages, more


widespread are about ten languages.

Programs written in a specific programming language are


transformed into a program executable on a computer by a so-called
compiler.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 17 -

Development environments

2006

visual development environments

To make programmers work easier, so-called visual development


environments have been created. Thanks to them in simpler cases one can
reduce the work amount and time to create a program.

These are especially suited to create data-input forms,


based on the input form they create the needed program
automatically.

In case of non-trivial problems its indispensable to combine visual


drawing-methods with classical programming.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 18 -

Development environments

module, plug-in

2006

The majority of modern programming languages are layered,


containing a small and relatively simple core and a big amount of
small SW components (so-called modules, plug-ins) for several
standard tasks.

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 19 -

Development of IT system paradigms


Historical views:

systems

organizing production

software

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 20 -

architectural phases
1945-1970

1970-1995

1995-2020?

A) Systems architectural phases


Mainframes

Microcomputers

Network systems

B) SoftWare Platform architectural phases:


assembler, pure languages libraries, development environments, components component binding
C) Organizing production architectural phases:
big company, open -

2006

small company, closed free components, binding, maintenance

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 21 -

Network applications: basic terminology


FIREWALL

Present technological division

Wide are network - mostly TCP/IP

Local area network - mostly


Ethernet

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 22 -

Network applications: client-server architectures

2-layer

3-layer

N-layer

Few connected clients,


adjustment distributed

2006

Does part of the work,


doesnt need constant
adjustment

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

Does all the work,


needs
constant
adjustment

pg

- 23 -

Example: server-side technology of one system

Operating systems: Linux, Solaris, ...


Free, open components

Linux
Zope

python
Qmail

own code
WWW
server

bsddb
SQL
server

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 28 -

Network software current architecture

Server

HTML
CSS, XML

DOM
Javascript
VBscript

Java

ActiveX

OS

Client

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 29 -

Network software current architecture


Protocols
Basic protocols
IP
TCP
HTTP
CGI
Layout protocols
HTML - hypertext markup language
CSS - cascading style sheets
DOM - document object model
XML - extended markup language
Further developed, distributed object protocols
RMI
CORBA
DCOM
JINI
XML-RPC
SOAP applications

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 30 -

Network software current architecture


Application platforms

Server side
Script languages together with libraries: Perl, Python, Javascript,
VBScript
Servlets: Java
Databases
Application servers

Client side
Scripting languages: Javascript, VBScript,
Applets, etc. Java, Flash
Applications: Java, ActiveX

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 31 -

Network applications: why?


A) Needs of individual user:

2006

Accessing own documents and materials and programs anytime,


anywhere:
documents, notes
calendar
contact database
bank account
e-mail
familiar software

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 33 -

Network applications: why?


B) Groupwork and management needs:

Distributed groupwork : access to the common documents and materials


of the group anythime, anywhere
common calendar, time planning, group discussion in real time
documents and databases the group is working on

Access to documents and databases based on access rights anytime,


anywhere:
bookkeeping
companys bank account
companys databases
workers reports and documents

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 34 -

Network applications: why?


C) Automatic data storage and retrieval:

Automatic archiving and enabling convenient archive searching

Erinevates osakondades ja ettevtetes olevate eriostarbeliste


andmebaaside andmete hendamine, hispringute sooritamine

(Semi-)Automatic Info search from the network

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 35 -

Intelligent network !?
In the middle of the century:
Every computer
is 1000 times
more powerful

The network
has 1000 times
more information
and services

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 37 -

Internet 0:

human <--> few humans, radio, TV

Radiochannel 1

Radiochannel 2

TV-channel 1

TV- channel 2

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 38 -

Internet 1:

human <--> many people

1
0
0

E-mail

M
I
L
L
I
O
N
S

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 39 -

Internet 2:

human <--> many computers

1
0
0

WWW

M
I
L
L
I
O
N
S

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 40 -

Internet 3:

computer <--> many computers

1
0
0

XML + Semantic web

M
I
L
L
I
O
N
S

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 41 -

Internet 3:

2006

human ??

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 42 -

Internet 4: Skynet?

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 43 -

HTML and XML

Info is put between tags

HTML:

tag has visual semantics

<b>Here is bold text</b>


<i>Here is text in italics</i>

2006

XML: tag has no semantics


<author>An Author</author>
<myadress>Astreet 5</myadress>

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 44 -

Network services

Problem: very difficult to make a program that reads an


HTML-page from another server.

Idea: we make a network page in XML so that a program in


another computer can read it
XML
HTML
XML
Kuvamis-teenus

Baasteenused

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 45 -

Network services and .NET

Ballmer:
".NET is at the core of what we're trying to do as a
company.

.NET: platform for creating network services

SOAP:

2006

Programming platform (C#, CLR, )


XML-applications in XML language SOAP, WSDL, UDDI
Server support for applications

XML-RPC further development: XML-communication language over


http
TOETUS: MSFT, IBM, SUN,

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 46 -

Applications ...

2006

Intelligent search from the network


Business-to-business solutions:

Wholesales put their prices on the net, retailer search deal with
proper price and conditions

Connecting different info-systems (2 banks merge, data has to be


merged, there are many small systems in a bank)

Meeting planning: finding common times


Access right system: who can access what
catalog/information
Intelligent assistant: searches itself information, prices Im
interested in; tells if something is found

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 47 -

Procedural vs declarative

Procedural info presentation:


info is coded into the program.

Declarative info presentation:

info as separate rules (in files), which is built by an


algorithm that uses algorithm-rules

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 48 -

Whats missing ?

One program should understand the XML CONTENT given by


another program
Beer-shipment searching server:

Wholesale A gives info:

Wholesale b gives info:

<beer>
<name>Guinness</name>
<price>100</price>
</beer>

<olu>
<mark>Guinness</mark>
<hind>100</hind>
</olu>

Wholesale C gives info:


<porter>
<name>Guinness</name>
<price>100</price>
</porter>

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 49 -

Differing languages

We should know that:


BEER
=
LU
PORTER is also BEER

There is no hope to prepare for all languages

There are sub-languages (general product language, beer


language in Estonia, Czech, China, etc.)

Language has to be interpreted by ourselves

To translate you need rules and elementary understanding

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 50 -

Same problem in XML database in ONE MACHINE

we have tables in SQL language:

ID Name
-----------------1 Jaan Tamm
2 Ants Raud
3 Jaan Tamm

PID
Profession
------------------1
Taster
2
Doorman
1
Salesman
3
Director

Rules:
IDs in the first table are not allowed to repeat
PID in the second table has to exist in the first table

Needed: connection of names, rules for structures

2006

IT Kolledzh/TT E.Domiczi based on T.Tammet

Intro to IT lecture 9

pg

- 51 -

What Are Information


Systems?
Based on Chapter 1 of Bennett, McRobb and
Farmer:

Object Oriented Systems Analysis and Design


Using UML, (3rd Edition), McGraw Hill, 2005.
03/12/2001

Bennett, McRobb and Farmer 2005

In This Lecture You Will Learn:


How to define an Information System
(IS)
Some examples and types of IS
How to apply basic concepts of systems
theory to IS
How IS are related to organizations

16 June 2005

Bennett, McRobb and Farmer 2005

McGregor On-Line Retail Site

A typical modern IS with:


Online catalogue display and shopping cart
Back-office systems store stock details,
orders, payment transactions, and more
Communications link to credit-card
processing centre
Robot warehouse control system
Delivery scheduling

16 June 2005

Bennett, McRobb and Farmer 2005

Elements of an IS

Every IS has:
A human activity that needs information
Some stored data
An input method for entering data
Some process that turns the data into
information
An output method for representing
information

16 June 2005

Bennett, McRobb and Farmer 2005

The Role of the Computer

Computers carry out tasks also done by


people and by other technologies
Storage: signalmans memory / hard disk
Display: Battle of Britain map / PC screen
Calculation: mental arithmetic / program
Communication: telephone line / LAN

Typical advantages of computers:


high speed, low cost, reliability

16 June 2005

Bennett, McRobb and Farmer 2005

System Transformation
All useful systems transform their inputs
into useful outputs
For IS, both inputs and outputs are
typically information
This transformation is the whole reason
for building and operating the system

16 June 2005

Bennett, McRobb and Farmer 2005

Transformation Example

McGregors Delivery Scheduling System


may have inputs:
Information about orders, available stock,
customer addresses, vehicle capacities

And may have outputs:


Which orders to load on each vehicle, what
route the vehicle should follow

How does this benefit McGregor?

16 June 2005

Bennett, McRobb and Farmer 2005

Characteristics of Systems
IS are like any other kind of system
Every system has:

Inputs and outputs


A purpose (related to transformation)
A boundary and an environment
Subsystems and interfaces
Control using feedback and feed-forward
Some emergent property
16 June 2005

Bennett, McRobb and Farmer 2005

Are Systems Real?


Maybe, maybe not!
Systems thinking is useful because it
helps to analyse and understand
problems
What matters is the understanding you
achieve
You can choose to see anything as a
system, whether or not it really is one
16 June 2005

Bennett, McRobb and Farmer 2005

Systems and the Real World


A system that helps to understand the
real-world situation

Makes
comparisons
Thinks
about

16 June 2005

Bennett, McRobb and Farmer 2005

A real-world
situation or
problem

10

Types of IS

Information Systems are used to


support peoples activities
Store and retrieve information
Carry out calculations
Aid communication
Control and schedule work
Other support ?

16 June 2005

Bennett, McRobb and Farmer 2005

11

Types of IS (contd)

Operational Systems assist or control


business operations
An Accounting System replaces costly and
error-prone human clerks

Management Support Systems help


managers to decide or to communicate
A Delivery Scheduling System helps decide
how to load and route the delivery trucks

16 June 2005

Bennett, McRobb and Farmer 2005

12

Types of IS (contd)

Real-time Control Systems typically


operate physical equipment, often in
safety-critical settings
Some cars have an Engine Management
System to control fuel supply and ignition

16 June 2005

Bennett, McRobb and Farmer 2005

13

How Do IS Relate to the Human


Activity System?
We can view an organization as a
system, perhaps with many subsystems
Ideally, each subsystem helps the
overall system fulfil its purpose
IS are also subsystems and should help
to meet goals of people in the
organization

16 June 2005

Bennett, McRobb and Farmer 2005

14

Strategy and Planning for IS


Informs and enables

Drives and sets goals


Business Strategy

Where IS can help

What must be done

Information Systems Strategy

Hardware capabilities

System requirements

Information Technology Strategy

16 June 2005

Bennett, McRobb and Farmer 2005

15

Summary
In this lecture you have learned about:
What an IS is
Some examples and types of IS
Some basic concepts of systems theory
and how to apply them to IS
How IS are related to organizations
16 June 2005

Bennett, McRobb and Farmer 2005

16

References
Bennett, McRobb and Farmer (2005)
Checkland and Scholes (1990)

(For full bibliographic details, see Bennett,


McRobb and Farmer)

16 June 2005

Bennett, McRobb and Farmer 2005

17

Problems in Information
Systems Development
Based on Chapter 2 of Bennett, McRobb and
Farmer:

Object Oriented Systems Analysis and Design


Using UML, (3rd Edition), McGraw Hill, 2005.
03/12/2001

Bennett, McRobb and Farmer 2005

18

In This Lecture You Will Learn:


The main players in an IS project
The problems in IS development
The underlying causes of these
problems
How the stakeholder concept helps
identify ethical issues in IS development
The costs of problems and ethical
issues

June 2005

Bennett, McRobb and Farmer 2005

19

The Main Players

Three main types of player are involved


in an IS development project:
Those who will benefit from the systems
outputs, directly or indirectly (end-users)
Those who commission the project, pay for
it or have the power to halt it (owners or
sponsors)
Those who will produce the software
(developers)

June 2005

Bennett, McRobb and Farmer 2005

20

What Do We Mean by Problem?

An IS project may fail before delivery


The LSE Taurus project was cancelled

An IS may fail after delivery


The LAS system was withdrawn after
implementation

An IS may be continue to be used,


despite causing problems to its users,
its owners or its developers

June 2005

Bennett, McRobb and Farmer 2005

21

End-user View
End-users may directly operate the
software, or may be more remote, e.g.
a manager who receives printed reports
Typical concerns include:

A system that is promised but not delivered


A system that is difficult to use
A system that doesnt meet its users needs
June 2005

Bennett, McRobb and Farmer 2005

22

Owner View
Owners care about meeting business
needs and about value for money
Typical concerns include:

Projects that overspend their budget (may


no longer have a net benefit)
Systems that are delivered too late
Badly managed projects
Systems that are rendered irrelevant by
events

June 2005

Bennett, McRobb and Farmer 2005

23

Developer View

IS developers sometimes have a


difficult time
Budget and time constraints often conflict
with doing the job properly
Users and owners may not know how to
ask for what they really want
Technologies, development approaches
and business needs all constantly change

June 2005

Bennett, McRobb and Farmer 2005

24

Why Things Go Wrong


Whether a system is delivered or not,
many things can go wrong
Flynn (1998) categorizes the main
causes as:

Quality problems
Productivity problems

June 2005

Bennett, McRobb and Farmer 2005

25

Quality Problems

The wrong problem is addressed


Failure to align the project with business strategy

Wider influences are neglected


Project team or business managers dont take
account of the system environment

Incorrect analysis of requirements


Poor skills or not enough time allowed

Project undertaken for wrong reason


Technology pull or political push

June 2005

Bennett, McRobb and Farmer 2005

26

Productivity Problems
Users change their minds
External events

E.g. introduction of the Euro currency

Implementation not feasible


May not be known at start of the project

Poor project control


Inexperienced management or political
difficulties

June 2005

Bennett, McRobb and Farmer 2005

27

Ethics Issues and


Stakeholder Problems

Some IS may affect people far beyond


obvious users and owners of the system
Cellphone companies collect data about
subscribers calls and physical movements
This data can be passed to police and
many other government agencies
Do you know what data is stored about
you? Who by? And what it is used for?

June 2005

Bennett, McRobb and Farmer 2005

28

Stakeholder Analysis

This approach tries to identify everyone


affected by a proposed IS
Who are the stakeholders?
How does the system affect each group?
What are their legitimate concerns?
Are there any legal implications, e.g. Data
Protection Act in the UK?

June 2005

Bennett, McRobb and Farmer 2005

29

Summary
In this lecture you have learned about:
The main players in an IS project, and
how they perceive the potential
problems
The origins of the main types of
problem
How stakeholder analysis can help
identify ethical impacts of an IS
June 2005

Bennett, McRobb and Farmer 2005

30

References

Flynn (1998)

(For full bibliographic details, see Bennett,


McRobb and Farmer)

See also www.ccsr.cse.dmu.ac.uk

June 2005

Bennett, McRobb and Farmer 2005

31

Avoiding the Problems


Based on Chapter 3 of Bennett, McRobb and
Farmer:

Object Oriented Systems Analysis and Design


Using UML, (3rd Edition), McGraw Hill, 2005.
Bennett, McRobb and Farmer 2005

32

In This Lecture You Will Learn:


the stages in the waterfall life cycle;
about prototyping and incremental life
cycles;
the importance of project management;
how users may be involved in a project;
the role of CASE tools in systems
development.

Bennett, McRobb and Farmer 2005

33

Problem Solving Model

Main phases are


Data gathering
Problem redefinition

These focus on understanding what the problem is about

Finding ideas

Concerned with understanding more about the nature of


the problem and possible solutions

Finding solutions
Implementation
Bennett, McRobb and Farmer 2005

34

Problem Solving Model


Problem
definition
Data
gathering
Problem
redefinition

Finding
ideas

Finding
solutions

Implementation

General problem solving model (adapted from Hicks, 1991).

Bennett, McRobb and Farmer 2005

35

Project Life Cycles

A distinction should be made between


Systems development, which incorporates
human, software and hardware elements
Software development, which is primarily
concerned with software systems

Two important phases are


Strategic Information Systems Planning
Business Modelling
Bennett, McRobb and Farmer 2005

36

Waterfall Life Cycle

The traditional life cycle (TLC) for information


systems development is also known as the
waterfall life cycle model.
So called because of the difficulty of returning to
an earlier phase.

The model shown here is one of several more


or less equivalent alternatives.
Typical deliverables are shown for each phase.

Bennett, McRobb and Farmer 2005

37

Traditional Life Cycle


System
System
Engineering
Engineering
Requirements
Analysis
Analy sis

Design
Design

Construction

Testing
Code

Installation
Code

Maintenance
Maintenance

Bennett, McRobb and Farmer 2005

38

TLC Deliverables

Systems Engineering
High level architectural specification

Requirements Analysis
Requirements specification
Functional specification
Acceptance test specifications
Life cycle deliverables (adapted from Sommerville, 1992).
Bennett, McRobb and Farmer 2005

39

TLC Deliverables

Design
Software architecture specification
System test specification
Design specification
Sub-system test specification
Unit test specification
Life cycle deliverables (adapted from Sommerville, 1992).
Bennett, McRobb and Farmer 2005

40

TLC Deliverables

Construction
Program code

Testing
Unit test report
Sub-system test report
System test report
Acceptance test report
Completed system Life cycle deliverables (adapted from Sommerville, 1992).
Bennett, McRobb and Farmer 2005

41

TLC Deliverables

Installation
Installed system

Maintenance
Change requests
Change request report

Life cycle deliverables (adapted from Sommerville, 1992).


Bennett, McRobb and Farmer 2005

42

Problems with TLC

Real projects rarely follow such a simple


sequential life cycle
Lapsed time between systems engineering
and the final installation is long
Iterations are almost inevitable in real
projects but are expensive & problematic with
the TLC
Unresponsive to changes during project as
iteration is difficult
Bennett, McRobb and Farmer 2005

43

TLC with Iteration


The cost of
this form of
iteration
increases as
the project
progresses
making it
impractical
and not
effective

System
System
Engineering
Engineering
Requirements
Analy sis
Design
Design

Construction

Code
Testing

Code
Installation

Maintenance
Maintenance

Bennett, McRobb and Farmer 2005

44

Strengths of TLC
Tasks in phases may be assigned to
specialized teams.
Project progress evaluated at the end of
each phase.
Can be used to manage projects with
high levels of risks.

Bennett, McRobb and Farmer 2005

45

Prototyping Life Cycle


Initial
analysis

Define
objectives

Specify

Prototyping
completed

Evaluate

Bennett, McRobb and Farmer 2005

Construct

46

Prototyping Advantages:

Early demonstrations of system functionality


help identify any misunderstandings between
developer and client
Client requirements that have been missed
are identified
Difficulties in the interface can be identified
The feasibility and usefulness of the system
can be tested, even though, by its very
nature, the prototype is incomplete
Bennett, McRobb and Farmer 2005

47

Prototyping Problems:
The client may perceive the prototype
as part of the final system
The prototype may divert attention
from functional to solely interface issues
Prototyping requires significant user
involvement
Managing the prototyping life cycle
requires careful decision making

Bennett, McRobb and Farmer 2005

48

Spiral Model & Incremental Development


Initial
requirements
gathering and
project planning

Planning

Risk analysis

Risk analysis
based on user
reaction to plan

Further planning
based on user
comments

User
evaluation
of
increments

Risk analysis
based on initial
requirements

Go, no-go decision


Risk assessment
Progress towards
final system

User evaluation

Software development

Develop first
increment
Develop next
increment

Bennett, McRobb and Farmer 2005

49

Unified Software Development Process

Captures many elements of best practice


The phases are:
Inception is concerned with determining the scope
and purpose of the project;
Elaboration focuses requirements capture and
determining the structure of the system;
Construction's main aim is to build the software
system;
Transition deals with product installation and
rollout.
Bennett, McRobb and Farmer 2005

50

Project
Phases

Inception

Elaboration

Transition

Construction

Requirements

Iterations within
each phase

Analysis

Design

Implementation

Test

Workflows

Size of square
relative to time
spent on
workflows
Bennett, McRobb and Farmer 2005

51

User Involvement

Users can be involved at various levels


As part of the development team (DSDM)
Via a consultative approach
In fact gathering

Bennett, McRobb and Farmer 2005

52

Agile Approaches
Iterative lightweight approach
Accepts that user requirements will
change during development
XP and DSDM are considered agile
Non-agile approaches can be viewed as
plan-based

Bennett, McRobb and Farmer 2005

53

Agile Approaches
Manifesto for Agile Software Development
We are uncovering better ways of developing software
by doing and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value
the items on the left more.

The Manifesto for Agile Software Development


Bennett, McRobb and Farmer 2005

54

Computer Aided Software


Engineering

CASE tools typically provide a range of


features including:

checks for syntactic correctness;


repository support;
checks for consistency and completeness;
navigation to linked diagrams;

Bennett, McRobb and Farmer 2005

55

Computer Aided Software


Engineering

Features of CASE tools continued

layering;
traceability;
report generation;
system simulation;
performance analysis;

code generation.

Bennett, McRobb and Farmer 2005

56

Summary
In this lecture you have learned about:
the stages in the waterfall life cycle;
about prototyping and incremental life
cycles;
the importance of project management;
how users may be involved in a project;
the role of CASE tools in systems
development.
Bennett, McRobb and Farmer 2005

57

References

Hicks (1991)
Sommerville (1992, 2004) and Pressman
(2004)
Jacobson, Booch and Rumbaugh (1999)
Chapters 5 and 21 of Bennett, McRobb and
Farmer include more detail about the Unified
Process

(For full bibliographic details, see Bennett, McRobb and


Farmer)
Bennett, McRobb and Farmer 2005

58

What Is Object-Orientation?
Based on Chapter 4 of Bennett, McRobb and
Farmer:

Object Oriented Systems Analysis and Design


Using UML, (3rd Edition), McGraw Hill, 2005.
03/12/2001

Bennett, McRobb and Farmer 2005

In This Lecture You Will Learn:


The fundamental concepts of objectorientation
The justifications for an object-oriented
approach

July 2005

Bennett, McRobb and Farmer 2005

Basic Concepts

The main concepts introduced here are:


Objects, Classes and Instances
Object State
Generalization and Specialization
Message-passing and Encapsulation
Polymorphism

July 2005

Bennett, McRobb and Farmer 2005

Objects
An object is:
an abstraction of something in a
problem domain, reflecting the
capabilities of the system to
keep information about it,
interact with it,
or both.
Coad and Yourdon (1990)
July 2005

Bennett, McRobb and Farmer 2005

Objects
Objects have state, behaviour and
identity.
Booch (1994)

State: the condition of an object at any

moment, affecting how it can behave


Behaviour: what an object can do, how
it can respond to events and stimuli
Identity: each object is unique
July 2005

Bennett, McRobb and Farmer 2005

Examples of Objects
Object

Identity

Behaviour State

A person.

Hussain Pervez.

Speak, walk, read.

Studying, resting,
qualified.

A shirt.

My favourite button
white denim shirt.

Shrink, stain, rip.

Pressed, dirty,
worn.

A sale.

Sale no #0015,
18/05/05.

Earn loyalty points.

Invoiced,
cancelled.

A bottle of
ketchup.

This bottle of
ketchup.

Spill in transit.

Unsold, opened,
empty.

July 2005

Bennett, McRobb and Farmer 2005

Class and Instance


All objects are instances of some class
Class:
a description of a set of objects with
similar

features (attributes, operations, links);


semantics;
constraints (e.g. when and whether an
object can be instantiated).
OMG (2004)
July 2005

Bennett, McRobb and Farmer 2005

Class and Instance


An object is an instance of some class
So, instance = object

but also carries connotations of the class to


which the object belongs

Instances of a class are similar in their:


Structure: what it knows, what information
it holds, what links it has to other objects
Behaviour: what an object can do

July 2005

Bennett, McRobb and Farmer 2005

Generalization and
Specialization
Classification is hierarchic in nature
For example, a person may be an
employee, a customer, a supplier of a
service
An employee may be paid monthly,
weekly or hourly
An hourly paid employee may be a
driver, a cleaner, a sales assistant

July 2005

Bennett, McRobb and Farmer 2005

Specialization Hierarchy
More general
(superclasses)

Person
Employee
monthly
paid

Customer
weekly
paid

Driver
July 2005

Supplier
hourly
paid

Cleaner

Sales More specialized


assistant
(subclasses)

Bennett, McRobb and Farmer 2005

10

Generalization and
Specialization

More general bits of description are


abstracted out from specialized classes:

General (superclass)

Person
name
date of birth
gender
title
July 2005

Specialized (subclass)

HourlyPaidDriver
startDate
standardRate
overtimeRate
licenceType
Bennett, McRobb and Farmer 2005

11

Inheritance

The whole description of a superclass applies


to all its subclasses, including:
Information structure (including associations)
Behaviour

Often known loosely as inheritance


(But actually inheritance is how an O-O
programming language implements
generalization / specialization)

July 2005

Bennett, McRobb and Farmer 2005

12

Message-passing
Several objects may collaborate to fulfil
each system action
Record CD sale could involve:

A CD stock item object


A sales transaction object
A sales assistant object

These objects communicate by sending


each other messages

July 2005

Bennett, McRobb and Farmer 2005

13

Message-passing and
Encapsulation
Layers of an onion
model of an object:

Message from another object


requests a service.

Operation called only via valid


operation signature.

An outer layer of
operation signatures
gives access to middle
layer of operations
which can access
inner core of data
July 2005

Data accessed only by


objects own operations.

An objects data
is hidden
(encapsulated).

Bennett, McRobb and Farmer 2005

14

Polymorphism
Polymorphism allows one message to
be sent to objects of different classes
Sending object need not know what
kind of object will receive the message
Each receiving object knows how to
respond appropriately
For example, a resize operation in a
graphics package

July 2005

Bennett, McRobb and Farmer 2005

15

Polymorphism in Resize
Operations
<<entity>>
Campaign
title
campaignStartDate
campaignFinishDate
getCampaignAdverts()
addNewAdvert()

<<entity>>
Campaign
title
campaignStartDate
campaignFinishDate
getCampaignAdverts()
addNewAdvert()

July 2005

Bennett, McRobb and Farmer 2005

16

Advantages of O-O

Can save effort


Reuse of generalized components cuts
work, cost and time

Can improve software quality


Encapsulation increases modularity
Sub-systems less coupled to each other
Better translations between analysis and
design models and working code

July 2005

Bennett, McRobb and Farmer 2005

17

Summary
In this lecture you have learned about:
The fundamental concepts of O-O
Object, class, instance
Generalization and specialization
Message-passing and polymorphism

Some of the advantages and


justifications of O-O

July 2005

Bennett, McRobb and Farmer 2005

18

References
Coad and Yourdon (1990)
Booch (1994)
OMG (2004)

(For full bibliographic details, see Bennett,


McRobb and Farmer)

July 2005

Bennett, McRobb and Farmer 2005

19

Modelling Concepts
Based on Chapter 5 of Bennett, McRobb and
Farmer:

Object Oriented Systems Analysis and Design


Using UML, (3rd Edition), McGraw Hill, 2005.
Bennett, McRobb and Farmer 2005

20

In This Lecture You Will Learn:


What is meant by a model
The distinction between a model and a
diagram
The UML concept of a model

Bennett, McRobb and Farmer 2005

21

What is a Model
Like a map, a model represents
something else
A useful model has the right level of
detail and represents only what is
important for the task in hand
Many things can be modelled: bridges,
traffic flow, buildings, economic policy

Bennett, McRobb and Farmer 2005

22

Why Use a Model?


A model is quicker and easier to build
A model can be used in a simulation
A model can evolve as we learn
We can choose which details to include
in a model
A model can represent real or imaginary
things from any domain

Bennett, McRobb and Farmer 2005

23

Modelling Organizations
Organizations are human activity systems.
The situation is complex
Stakeholders have different views
We have to model requirements
accurately, completely and
unambiguously
The model must not prejudge the
solution
Bennett, McRobb and Farmer 2005

24

What is a Diagram?
Abstract shapes are used to represent
things or actions from the real world
Diagrams follow rules or standards
The standards make sure that different
people will interpret the diagram in the
same way

40
Bennett, McRobb and Farmer 2005

25

An Example
of a Diagram

Author

Reviewer

Typesetter

Printer

Write Chapter

Review Chapter

An activity
diagram of the
tasks involved
in producing a
book.

Revise Chapter
[book not
complete]

[book complete]
Typeset Book

Correct Proofs

Reset Book

Print Book

Bennett, McRobb and Farmer 2005

26

Hiding
Detail

Author

Reviewer

Typesetter

Printer

Write Chapter
Plan Chapter
Write Chapter
Produce
First Draft
Review Chapter

Revise Draft
Revise Chapter
[book
not
[not
satisfied]
complete]
[satisfied]
[book complete]
Add Exercises
Typeset Book
Add References
to Bibliography
Correct Proofs

Reset Book

Print Book

Bennett, McRobb and Farmer 2005

27

Diagrams in UML

UML diagrams consist of:


icons
two-dimensional symbols
paths
Strings

UML diagrams are defined in


the UML specification.

Plan Chapter

Produce
First Draft

Revise Draft
[not satisfied]
[satisfied]
Add Exercises

Add References
to Bibliography

Bennett, McRobb and Farmer 2005

28

Diagrams vs Models

A diagram illustrates some aspect of a


system.
A model provides a complete view of a
system at a particular stage and from a
particular perspective.
A model may consist of a single diagram, but
most consist of many related diagrams and
supporting data and documentation.
Bennett, McRobb and Farmer 2005

29

Examples of Models

Requirements Model
complete view of requirements
may include other models, such as a Use
Case Model
includes textual description as well as sets
of diagrams

Bennett, McRobb and Farmer 2005

30

Examples of Models

Behavioural Model
shows how the system responds to events
in the outside world and the passage of
time
an initial model may just use
Communication Diagrams
a later model will include Sequence
Diagrams and State Machines
Bennett, McRobb and Farmer 2005

31

Models in UML
A system is the overall thing that is
being modelled
A subsystem is a part of a system
consisting of related elements
A model is an abstraction of a system or
subsystem from a particular perspective
A model is complete and consistent at
the chosen level of abstraction

Bennett, McRobb and Farmer 2005

32

Models in UML

Different models present different views


of the system, for example:
use case view
design view
process view
implementation view
deployment view
(Booch et al., 1999)
Bennett, McRobb and Farmer 2005

33

Packages, Sub-systems and


Models

UML has notation for showing


subsystems and models, and also for
packages, which are a mechanism for
organising models (e.g. in CASE tools)
Use Cases

subsystem
Campaign
Management

Package

Sub-system
Bennett, McRobb and Farmer 2005

Use Case
Model

Model
34

Developing Models

During the life of a project using an


iterative life cycle, models change along
the dimensions of:
abstractionthey become more concrete
formalitythey become more formally
specified
level of detailadditional detail is added as
understanding improves
Bennett, McRobb and Farmer 2005

35

Development of the Use Case


Model
Staff Management

Iteration 1
Obvious use cases.
Simple use case descriptions.

Add a new staff


member
Staff Management

Add a new staff


member
Add a new staff
grade

Add a new staff


grade
Change the
rate for a
staff grade

Accountant

Change the
rate for a
staff grade

Change the
grade for a
staff member

Accountant
Change the
grade for a
staff member
Calculate staff
bonuses

Calculate staff
bonuses

Staff Management

Add a new staff


member
Staff Management

Iteration 2
Additional use cases.
Simple use case descriptions.
Prototypes.

Add a new staff


member
Staff Management
Add a new staff
grade

Campaign Selection

Add a new staff


member
Add a new staff
grade

Campaign Selection

Change the
rate for a
staff grade
Add a new staff
grade
Accountant

Accountant

Change the
rate for a
staff grade

Change the
rate for a
staff grade

Holborn Motors
Lynch Properties
Holborn
Motors
Yellow
Partridge
Yellow
Partridge
LynchZeta
Properties
Systems
Holborn
Motors
Yellow
Partridge
Yellow
Partridge
Spring Jewellery Campaign 1997
Properties
Systems
Campaign: LynchZeta
Spring Jewellery Campaign 2001
Yellow Partridge
Spring
Jewellery
Campaign
1997 2002
Spring
Jewellery
Campaign
Zeta Systems
Campaign:
Spring
Jewellery
Campaign
2001
Summer
Collection
1998
Spring
SpringJewellery
JewelleryCampaign
Campaign 2002
Campaign:
2002
Summer Collection 1998
OK
Quit

Client:
Campaign Selection
Client:

Change the
grade for a
staff member

Client:

Change the
grade for a
staff member

Accountant

Calculate staff
bonuses
Change the
grade for a
staff member
Calculate staff
bonuses

OK

Calculate staff
bonuses

OK

Quit
Quit

Campaign Management

Iteration 3
Structured use cases.
Structured use case descriptions.
Prototypes.

Assign staff
to work on
a campaign

include
Campaign Management

Add a new
advert to
include
a campaign
Campaign Management

Assign staff
to work on
a campaign

Campaign
Manager

Find campaign

include

Assign staff
to work on
a campaign

Campaign
Manager

Campaign Selection
Find campaigninclude

Campaign Selection

include

Add a new
advert to
include
a campaign

Check campaign

Holborn Motors
Lynch Properties
Holborn
Motors
Yellow
Partridge
Yellow
Partridge
LynchZeta
Properties
Systems

Client:
Campaign Selection

budget
Find campaigninclude

include
Add a new
advert to
a campaign

extend

Print campaign
summary
extend

Print campaign
invoice

extend

Accountant
Print campaign
summary

extend

Client:

Check campaign
include
budget

Campaign
Manager
Check campaign
budget

extend

Print campaign
invoice

extend

Accountant
Print campaign
summary

Print campaign
invoice

Accountant

Bennett, McRobb and Farmer 2005

Holborn
Motors
Yellow
Partridge
Yellow
Partridge
Spring Jewellery Campaign 1997
Properties
Systems
Campaign: LynchZeta
Spring Jewellery Campaign 2001
Yellow Partridge
Spring
Jewellery
Campaign
1997 2002
Spring
Jewellery
Campaign
Zeta Systems
Campaign:
Spring
Jewellery
Campaign
2001
Summer
Collection
1998
Spring
SpringJewellery
JewelleryCampaign
Campaign 2002
Campaign:
2002
Summer Collection 1998
OK
Quit
Client:

OK
OK

Quit
Quit

36

Summary
In this lecture you have learned about:
What is meant by a model
The distinction between a model and a
diagram
The UML concept of a model

Bennett, McRobb and Farmer 2005

37

References
Booch, Rumbaugh and Jacobson (1999)
Bennett, Skelton and Lunn (2005)

(For full bibliographic details, see Bennett,


McRobb and Farmer)

Bennett, McRobb and Farmer 2005

38

Activity Diagrams
Based on Chapter 5 of Bennett, McRobb and
Farmer:

Object Oriented Systems Analysis and Design


Using UML, (3rd Edition), McGraw Hill, 2005.
Bennett, McRobb and Farmer 2005

39

In This Lecture You Will Learn:


The purpose of activity diagrams
The notation of activity diagrams
How to draw activity diagrams

Bennett, McRobb and Farmer 2005

40

Drawing Activity Diagrams

Purpose
to model a task (for example in business
modelling)
to describe a function of a system
represented by a use case
to describe the logic of an operation
to model the activities that make up the
life cycle in the Unified Process
Bennett, McRobb and Farmer 2005

41

Notation of Activity Diagrams

Actions
rectangle with rounded corners
meaningful name

Control flows

Add a New
Client

Assign Staff
Contact

arrows with open


arrowheads

Bennett, McRobb and Farmer 2005

42

Notation of Activity Diagrams

Initial node

Add a New
Client

black circle

Decision nodes
(and merge nodes)
diamond

[no campaign to add]

Guard conditions
in square brackets

Assign Staff
Contact

Final node

[campaign to add]
Add New
Campaign

black circle in white circle


Bennett, McRobb and Farmer 2005

43

Notation of Activity Diagrams

Fork nodes
and join nodes

Add a New
Client

thick bar

Actions carried
out in parallel

Add New
Campaign

Bennett, McRobb and Farmer 2005

Assign Staff
Contact

44

Notation of Activity Diagrams

In UML 1.X multiple flows from an action


were implicitly ORed
In UML 2.0 they are implicitly ANDed
Guard conditions do not have to be mutually
exclusive, but it is advisable that they should
be
Decisions should be strictly nested, but
a merge point can be combined with a
following decision point
Bennett, McRobb and Farmer 2005

45

Notation of Activity Diagrams


:Campaign

Object flows

[Active]

open arrow

Record completion
of a campaign

Objects
rectangle
optionally shows the
state of the object in
square brackets

:Campaign
[Completed]

Bennett, McRobb and Farmer 2005

46

Notation of Activity Diagrams

Activity Partitions
(Swimlanes)
vertical columns
labelled with the
person, organisation,
department or
system responsible
for the activities in
that column

Campaign
Manager

Accountant

Client

Record Completion
of a campaign

Issue invoice

Pay invoice

Record client
payment

Bennett, McRobb and Farmer 2005

47

Drawing Activity Diagrams

What is the purpose?


This will influence the kind of activities that
are shown

What is being shown in the diagram?


What is the name of the business process,
use case or operation?

What level of detail is required?


Is it high level or more detailed?
Bennett, McRobb and Farmer 2005

48

Drawing Activity Diagrams

Identify actions
What happens when a new client is added
in the Agate system?

Add a New Client


Assign Staff Contact
Add New Campaign
Assign Staff to Campaign

Organise the actions in order with flows


Bennett, McRobb and Farmer 2005

49

Drawing Activity
Diagrams

Add a New
Client

Assign Staff
Contact

Add New
Campaign

Assign Staff
to Campaign

Bennett, McRobb and Farmer 2005

50

Drawing Activity Diagrams

Identify any alternative flows and the


conditions on them
sometimes there is a new campaign to add
for a new client, sometimes not
sometimes they will want to assign staff to
the campaign, sometimes not

Add decision and merge nodes, flows


and guard conditions to the diagram
Bennett, McRobb and Farmer 2005

51

Drawing Activity
Diagrams

Add a New
Client
Assign Staff
Contact
[no campaign to add]

[campaign to add]
Add New
Campaign
[no staff to assign]
[staff to assign]
Assign Staff
to Campaign

Bennett, McRobb and Farmer 2005

52

Drawing Activity Diagrams

Identify any actions that are carried out


in parallel
there are none in this example

Add fork and join nodes and flows to


the diagram

Bennett, McRobb and Farmer 2005

53

Drawing Activity Diagrams

Identify any processes that are


repeated
they will want to assign staff to the
campaign until there are no more staff to
add

Add decision and merge nodes, flows


and guard conditions to the diagram
Bennett, McRobb and Farmer 2005

54

Drawing Activity
Diagrams

Add a New
Client
Assign Staff
Contact
[no campaign to add]

[campaign to add]
Add New
Campaign
[no staff to assign]
[staff to assign]
Assign Staff
to Campaign

[more staff to assign]

Bennett, McRobb and Farmer 2005

[no more staff to assign]

55

Drawing Activity Diagrams


Are all the activities carried out by the
same person, organisation or
department?
If not, then add swimlanes to show the
responsibilities
Name the swimlanes
Show each activity in the appropriate
swimlane

Bennett, McRobb and Farmer 2005

56

Administrator

Add a New
Client

Campaign Manager

Assign Staff
Contact
[no campaign to add]
[campaign to add]
Add New
Campaign
[no staff to assign]
[staff to assign]
Assign Staff
to Campaign

[more staff to assign]

[no more staff to assign]

Bennett, McRobb and Farmer 2005

57

Drawing Activity Diagrams

Are there any object flows and objects


to show?
these can be documents that are created
or updated in a business activity diagram
these can be object instances that change
state in an operation or a use case

Add the object flows and objects


Bennett, McRobb and Farmer 2005

58

Administrator

Add a New
Client

Campaign Manager

Assign Staff
Contact
[no campaign to add]

Client
[New]

[campaign to add]

:Campaign
[Commissioned]

Add New
Campaign

[no staff to assign]


[staff to assign]
Assign Staff
to Campaign

[more staff to assign]

[no more staff to assign]

Bennett, McRobb and Farmer 2005

59

Summary
In this lecture you have learned about:
The purpose of activity diagrams
The notation of activity diagrams
How to draw activity diagrams

Bennett, McRobb and Farmer 2005

60

References
The notation and semantics of activity
diagrams have changed significantly
since UML was first released. The
original UML books are now out of date
on the subject.
Bennett, Skelton and Lunn (2005)

(For full bibliographic details, see Bennett,


McRobb and Farmer)
Bennett, McRobb and Farmer 2005

61

Development Process
Based on Chapter 5 of Bennett, McRobb and
Farmer:

Object Oriented Systems Analysis and Design


Using UML, (3rd Edition), McGraw Hill, 2005.
Bennett, McRobb and Farmer 2005

62

In This Lecture You Will Learn:


About the Unified Software Development Process
How phases relate to workflows in an
iterative life cycle
An approach to system development
Major activities in the development
process

Bennett, McRobb and Farmer 2005

63

Unified Software
Development Process
Developed by the team that created
UML
Embodies best practice in system
development
Adopts an iterative approach with four
main phases
Different tasks are captured in a series
of workflows

Bennett, McRobb and Farmer 2005

64

Best Practice
Iterative and incremental development
Component-based development
Requirements-driven development
Configurability
Architecture-centrism
Visual modelling techniques

Bennett, McRobb and Farmer 2005

65

Four Phases
Inception
Elaboration
Construction
Transition

Bennett, McRobb and Farmer 2005

66

Phases, Workflows
and Iterations
Within each phase activities are
grouped into workflows
The balance of effort spent in each
workflow varies from phase to phase
Within phases there may be more than
one iteration

Bennett, McRobb and Farmer 2005

67

Project
Phases

Inception

Elaboration

Transition

Construction

Requirements

Iterations within
each phase

Analysis

Design

Implementation

Test

Workflows

Size of square
relative to time
spent on
workflowh
Bennett, McRobb and Farmer 2005

68

Difference from
Waterfall Life Cycle

In a waterfall life cycle project the phases


and the workflows are linked together
In the Requirements phase, only
Requirements workflow activities are carried
out
All Requirements activity should be completed
before work starts on Analysis
In an iterative life cycle project it is
recognised that some Requirements work will
be happening alongside Analysis work
Bennett, McRobb and Farmer 2005

69

Requirements

Design
Analysis

Test
Implementation

Requirements

Analysis

Design

Implementation
Test

Bennett, McRobb and Farmer 2005

70

Major Activities of the


Development Process
Activity

Techniques

Key Deliverables

Requirements
Capture and
Modelling

Requirements
Elicitation
Use Case
Modelling
Architectural
Modelling
Prototyping

Use Case Model


Requirements List
Initial Architecture
Prototypes
Glossary

Bennett, McRobb and Farmer 2005

71

Major Activities of the


Development Process
Activity

Techniques

Requirements
Analysis

Communication
Analysis Models
Diagrams
Class and Object
Modelling
Analysis Modelling

Bennett, McRobb and Farmer 2005

Key Deliverables

72

Major Activities of the


Development Process
Activity

Techniques

System Design Deployment


Modelling
Component
Modelling
Package Modelling
Architectural
Modelling
Design Patterns
Bennett, McRobb and Farmer 2005

Key Deliverables
Overview Design
and
Implementation
Architecture

73

Major Activities of the


Development Process
Activity

Techniques

Class Design

Class and Object Design Models


Modelling
Interaction
Modelling
State Modelling
Design Patterns

Bennett, McRobb and Farmer 2005

Key Deliverables

74

Major Activities of the


Development Process
Activity

Techniques

Key Deliverables

User
Interface
Design

Class and Object


Modelling
Interaction Modelling
State Modelling
Package Modelling
Prototyping
Design Patterns

Design Models
with Interface
Specification

Bennett, McRobb and Farmer 2005

75

Major Activities of the


Development Process
Activity

Techniques

Key Deliverables

Data
Management
Design

Class and Object


Modelling
Interaction
Modelling
State Modelling
Package Modelling
Design Patterns

Design Models
with Database
Specification

Bennett, McRobb and Farmer 2005

76

Major Activities of the


Development Process
Activity

Techniques

Key Deliverables

Construction

Programming
Component Reuse
Database DDL
Programming
Idioms
Manual Writing

Constructed
System
Documentation

Bennett, McRobb and Farmer 2005

77

Major Activities of the


Development Process
Activity

Techniques

Testing

Programming
Test Plans
Test Planning and Test Cases
Design
Tested System
Testing

Bennett, McRobb and Farmer 2005

Key Deliverables

78

Major Activities of the


Development Process
Activity

Techniques

Implementation

Planning
Installed System
Training
Data Conversion

Bennett, McRobb and Farmer 2005

Key Deliverables

79

Summary
In this lecture you have learned about:
The Unified Software Development
Process
How phases relate to workflows in an
iterative life cycle
An approach to system development
Major activities in the development
process
Bennett, McRobb and Farmer 2005

80

References
Jacobson, Booch and Rumbaugh (1999)
Kruchten (2004)
Chapter 21 of Bennett, McRobb and
Farmer includes more detail about the
Unified Process

(For full bibliographic details, see Bennett,


McRobb and Farmer)
Bennett, McRobb and Farmer 2005

81