Professional Documents
Culture Documents
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
Intro to IT lecture 5
pg
-2-
2006
Intro to IT lecture 5
pg
-3-
1977
2006
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.
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.
Intro to IT lecture 5
pg
-6-
1977
2006
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
Intro to IT lecture 5
pg
-9-
1979
2006
Intro to IT lecture 5
pg
- 10 -
1979
January
Xerox president replies to John Ellenby's proposal to market the Alto, turning
down his proposal.
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
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.
Intro to IT lecture 5
pg
- 12 -
1979
July
Wayne Ratliff develops the Vulcan database program (Ashton- Tate later
markets it as dBase II).
September
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
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
Intro to IT lecture 5
pg
- 14 -
1979
2006
Intro to IT lecture 5
pg
- 15 -
1979
2006
Intro to IT lecture 5
pg
- 16 -
2006
Intro to IT lecture 5
pg
- 17 -
2006
Intro to IT lecture 5
pg
- 18 -
1980
January
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.
2006
Intro to IT lecture 5
pg
- 19 -
1980
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.
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.
Apple Computer sells over 78,000 Apple II computers during the fiscal
year.
2006
Intro to IT lecture 5
pg
- 21 -
1980
October
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
2006
Intro to IT lecture 5
pg
- 22 -
1980
2006
Intro to IT lecture 5
pg
- 23 -
1981-1982
2006
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
2006
Intro to IT lecture 5
pg
- 25 -
2006
Intro to IT lecture 5
pg
- 26 -
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.
Intro to IT lecture 5
pg
- 27 -
2006
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.
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
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
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
Intro to IT lecture 5
pg
- 32 -
1981: IBM PC
2006
Intro to IT lecture 5
pg
- 33 -
2006
Intro to IT lecture 5
pg
- 34 -
1981
September
October
2006
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.
2006
Intro to IT lecture 5
pg
- 36 -
2006
Intro to IT lecture 5
pg
- 37 -
1982
MAIN HIGHLIGHTS
Mitch Kapor developed Lotus 1-2-3, writing the software directly into the
video system of the IBM PC.
2006
Intro to IT lecture 5
pg
- 38 -
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
Intro to IT lecture 5
pg
- 39 -
1982
2006
Intro to IT lecture 5
pg
- 40 -
1982
January
2006
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
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
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
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]
Symantec is formed.
2006
Intro to IT lecture 5
pg
- 45 -
2006
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.
2006
Intro to IT lecture 5
pg
- 47 -
Intro to IT lecture 5
pg
- 48 -
Small machines:
2006
Intro to IT lecture 5
pg
- 49 -
1983
2006
Intro to IT lecture 5
pg
- 50 -
1983
2006
Intro to IT lecture 5
pg
- 51 -
1983
2006
Intro to IT lecture 5
pg
- 52 -
1983
2006
Intro to IT lecture 5
pg
- 53 -
1983
2006
Intro to IT lecture 5
pg
- 54 -
1983
2006
Intro to IT lecture 5
pg
- 55 -
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
Intro to IT lecture 5
pg
- 56 -
2006
Intro to IT lecture 5
pg
- 57 -
2006
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.
Intro to IT lecture 5
pg
- 59 -
Apple I
Apple II
(1976)
(1977-1993)
Apple III
Stopped
Stopped
(1980-1985)
Lisa
(1983-1986)
Mac Os X
(UNIX-based)
Newton PDA
Stopped
(1990-1993)
2006
Intro to IT lecture 5
pg
- 60 -
1984
2006
Intro to IT lecture 5
pg
- 61 -
1984
2006
Intro to IT lecture 5
pg
- 62 -
1984
2006
Intro to IT lecture 5
pg
- 63 -
1984
2006
Intro to IT lecture 5
pg
- 64 -
1984
2006
Intro to IT lecture 5
pg
- 65 -
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."
2006
Intro to IT lecture 5
pg
- 66 -
1985
2006
Intro to IT lecture 5
pg
- 67 -
1985
2006
Intro to IT lecture 5
pg
- 68 -
Basic, (Fortran), (Cobol), C, C++, C# etc interpreters and compilers: 1975 ...
MS DOS 1
(bought)
1981)
Stopped
Windows 1-3
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
Intro to IT lecture 5
pg
- 69 -
1986
2006
Intro to IT lecture 5
pg
- 70 -
1987
Intro to IT lecture 5
pg
- 71 -
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
2006
Intro to IT lecture 5
pg
- 72 -
1988
Apple cofounder Steve Jobs, who left Apple to form his own
company, unveiled the NeXT workstation.
2006
Intro to IT lecture 5
pg
- 73 -
1989
2006
Intro to IT lecture 5
pg
- 74 -
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.
Intro to IT lecture 6
pg
-2-
2006
Intro to IT lecture 6
pg
-4-
2006
Intro to IT lecture 6
pg
-5-
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
Intro to IT lecture 6
pg
-6-
1990, the GNU system was almost complete; the only major
missing component was the kernel.
2006
Intro to IT lecture 6
pg
-7-
2006
Intro to IT lecture 6
pg
-8-
2006
Intro to IT lecture 6
pg
-9-
1991
2006
Intro to IT lecture 6
pg
- 10 -
1991
2006
Intro to IT lecture 6
pg
- 11 -
1992
2006
Intro to IT lecture 6
pg
- 12 -
2006
Intro to IT lecture 6
pg
- 13 -
Tallinn(KBFI)-Stockholm(KTH) and
Tartu(Biokeskus)-Stockholm.
2006
Intro to IT lecture 6
pg
- 14 -
Wolfenstein 3D is followed
by Doom, also by ID software.
2006
Intro to IT lecture 6
pg
- 15 -
1993
2006
Intro to IT lecture 6
pg
- 16 -
1993
2006
Intro to IT lecture 6
pg
- 17 -
2006
Intro to IT lecture 6
pg
- 18 -
2006
Intro to IT lecture 6
pg
- 19 -
2006
Intro to IT lecture 6
pg
- 20 -
2006
Intro to IT lecture 6
pg
- 21 -
2006
Intro to IT lecture 6
pg
- 22 -
1994
2006
Intro to IT lecture 6
pg
- 23 -
2006
Intro to IT lecture 6
pg
- 24 -
2006
Intro to IT lecture 6
pg
- 25 -
2006
Intro to IT lecture 6
pg
- 26 -
2006
Intro to IT lecture 6
pg
- 27 -
2006
Intro to IT lecture 6
pg
- 28 -
2006
Intro to IT lecture 6
pg
- 29 -
2006
Intro to IT lecture 6
pg
- 30 -
2006
Intro to IT lecture 6
pg
- 31 -
1995: Windows 95
2006
Intro to IT lecture 6
pg
- 32 -
2006
Intro to IT lecture 6
pg
- 33 -
1995
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. ......
2006
Intro to IT lecture 6
pg
- 34 -
1996
2006
Intro to IT lecture 6
pg
- 35 -
2006
Intro to IT lecture 6
pg
- 36 -
2006
Intro to IT lecture 6
pg
- 37 -
2006
Intro to IT lecture 6
pg
- 38 -
2006
Intro to IT lecture 6
pg
- 39 -
2006
Intro to IT lecture 6
pg
- 40 -
2006
Intro to IT lecture 6
pg
- 41 -
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 -
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!
Intro to IT lecture 6
pg
- 43 -
Internet Stocks
theGlobe.com
EarthWeb
Price
Close
$ 9.00
$ 14.00
$ 63.00
$ 67.00
Nasdaq:1999-2003 autumn
2006
Intro to IT lecture 6
pg
- 45 -
2006
Intro to IT lecture 6
pg
- 46 -
2006
Intro to IT lecture 6
pg
- 47 -
2006
Intro to IT lecture 6
pg
- 48 -
share bubblehistory
2006
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
Intro to IT lecture 6
pg
- 50 -
2006
Intro to IT lecture 6
pg
- 51 -
IBM announces it will begin distribution and technical support for the Linux operating system on
its systems.
Microsoft releases Internet Explorer 5.0.
2006
Intro to IT lecture 6
pg
- 52 -
Japanese Stocks,1955-90
Microsoft
2006
Intro to IT lecture 6
pg
- 57 -
2006
Intro to IT lecture 6
pg
- 58 -
2006
Intro to IT lecture 6
pg
- 59 -
Red hat: 1-7 oct 2002 (in autumn 2003 again ca 9.5)
2006
Intro to IT lecture 6
pg
- 60 -
2006
Intro to IT lecture 6
pg
- 61 -
2006
Intro to IT lecture 6
pg
- 62 -
2006
Intro to IT lecture 6
pg
- 63 -
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!
Intro to IT lecture 6
pg
- 64 -
Next
2006
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
Intro to IT lecture 6
pg
- 66 -
IT Kolledzh/TT 2003
T.Tammet
IT sissejuhatus loeng 7
lk
-1-
Hardware (HW):
Components of Hardware
Processor`s working basics
IT Kolledzh/TT 2003
T.Tammet
IT sissejuhatus loeng 7
lk
-2-
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-
IT Kolledzh/TT 2003
T.Tammet
IT sissejuhatus loeng 7
lk
-4-
Components
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
IT Kolledzh/TT 2003
T.Tammet
IT sissejuhatus loeng 7
lk
-9-
IT Kolledzh/TT 2003
T.Tammet
IT sissejuhatus loeng 7
lk
- 10 -
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
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 -
IT Kolledzh/TT 2003
T.Tammet
IT sissejuhatus loeng 7
lk
- 14 -
Execution of operations/commands
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 -
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 -
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 -
IT Kolledzh/TT 2003
T.Tammet
IT sissejuhatus loeng 7
lk
- 18 -
010111010100101
110101011010100
111010100101001
101010100101001
110101001010010
101001011101010
101010101001
101010010100
110101111010
110011010101
101001000111
110101001001
IT Kolledzh/TT 2003
T.Tammet
IT sissejuhatus loeng 7
lk
- 19 -
Hierarchy...
Less writing:
AB05 E3D5
CD01 032A
4BD0 CDE1
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:
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 -
IT Kolledzh/TT 2003
T.Tammet
IT sissejuhatus loeng 7
lk
- 22 -
IT Kolledzh/TT 2003
T.Tammet
IT sissejuhatus loeng 7
lk
- 23 -
lod-c 1
sto 12
lod 12
inc
sto 12
jmp 2
IT Kolledzh/TT 2003
T.Tammet
IT sissejuhatus loeng 7
lk
- 24 -
Loop:
LOD-C 1
STO Count
LOD Count
INC
STO Count
JMP Loop
@12
Count: data
IT Kolledzh/TT 2003
T.Tammet
IT sissejuhatus loeng 7
lk
- 25 -
Subprograms usage
lod-c 13
lod-c 56
sto N2
lod-c back
sto ret_addr
jmp Multiply
back: lod Answer
hlt
IT Kolledzh/TT 2003
T.Tammet
IT sissejuhatus loeng 7
lk
- 26 -
High-level languages
IT Kolledzh/TT 2003
T.Tammet
IT sissejuhatus loeng 7
lk
- 27 -
LISP
T.Tammet
IT sissejuhatus loeng 7
lk
- 28 -
IT Kolledzh/TT 2003
T.Tammet
IT sissejuhatus loeng 7
lk
- 29 -
IT Kolledzh/TT 2003
T.Tammet
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
IT Kolledzh/TT 2003
T.Tammet
IT sissejuhatus loeng 7
lk
- 32 -
Introduction to Information
Technology
Lecture overview
Cache memory-hierarchy
Operating systems
2006
Basic goals
Basic technologies
Types
Overview of main Operating Systems (OpSys)
Intro to IT lecture 8
pg
-2-
2006
Intro to IT lecture 8
pg
-3-
High-level languages
2006
Intro to IT lecture 8
pg
-4-
NB!
2006
Intro to IT lecture 8
pg
-5-
2006
Intro to IT lecture 8
pg
-6-
Libraries) (what kind of ready program stubs are easily available for
that language or already come along)
2006
Intro to IT lecture 8
pg
-7-
2006
Intro to IT lecture 8
pg
-8-
2006
Intro to IT lecture 8
pg
-9-
FORTRAN
2006
Intro to IT lecture 8
pg
- 10 -
LISP
2006
Intro to IT lecture 8
pg
- 11 -
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
Intro to IT lecture 8
pg
- 12 -
Ada
function sumto(n:
sum : INTEGER
begin
for i in 0..n
sum := sum
end loop;
return sum;
2006
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
Intro to IT lecture 8
pg
- 14 -
2006
Intro to IT lecture 8
pg
- 15 -
Why OpSys ?
Computers can also be programmed without an OpSys. In that case:
2006
Intro to IT lecture 8
pg
- 16 -
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
Intro to IT lecture 8
pg
- 17 -
Naked machine
2006
Intro to IT lecture 8
pg
- 18 -
Definitions of OS!?
2006
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
Intro to IT lecture 8
pg
- 20 -
2006
Intro to IT lecture 8
pg
- 21 -
Programs
Services
Virtual
Interface
OS Core
Physical
Interface
HardWare
2006
Intro to IT lecture 8
pg
- 22 -
OS layers
2006
Intro to IT lecture 8
pg
- 23 -
2006
Functionality
Process administration
Memory administration
File systems
Network protocols
User administration
Intro to IT lecture 8
pg
- 24 -
Interrupts
2006
An important goal of the OS is to hide interrupts from the user--and from user-level processes.
Intro to IT lecture 8
pg
- 25 -
2006
Intro to IT lecture 8
pg
- 26 -
2006
Intro to IT lecture 8
pg
- 27 -
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.
2006
Intro to IT lecture 8
pg
- 28 -
2006
Intro to IT lecture 8
pg
- 29 -
OS-es: Apple
2006
Intro to IT lecture 8
pg
- 30 -
2006
Intro to IT lecture 8
pg
- 31 -
2006
Intro to IT lecture 8
pg
- 32 -
2006
Palm OS
Windows CE
Symbian
Intro to IT lecture 8
pg
- 33 -
2006
Intro to IT lecture 8
pg
- 34 -
2006
Intro to IT lecture 8
pg
- 35 -
2006
Intro to IT lecture 8
pg
- 36 -
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
Intro to IT lecture 8
pg
- 37 -
X-Windows
Windows emulators in UNIX: Wine, Wabi
Support of foreign/alien file systems
Compatibility with Macintosh computers
2006
http://citnews.unl.edu/linux/LinuxPresentation.html
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
Intro to IT lecture 8
pg
- 39 -
Introduction to Information
Technology
2006
Intro to IT lecture 9
pg
-2-
2006
Intro to IT lecture 9
pg
-5-
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
Intro to IT lecture 9
pg
-6-
2006
Intro to IT lecture 9
pg
-7-
2006
Intro to IT lecture 9
pg
-9-
Libraries
Most languages do NOT have standard libraries or they are very limited
2006
Intro to IT lecture 9
pg
- 15 -
Java
2006
Intro to IT lecture 9
pg
- 16 -
Development environments
2006
Intro to IT lecture 9
pg
- 17 -
Development environments
2006
Intro to IT lecture 9
pg
- 18 -
Development environments
module, plug-in
2006
Intro to IT lecture 9
pg
- 19 -
systems
organizing production
software
2006
Intro to IT lecture 9
pg
- 20 -
architectural phases
1945-1970
1970-1995
1995-2020?
Microcomputers
Network systems
2006
Intro to IT lecture 9
pg
- 21 -
2006
Intro to IT lecture 9
pg
- 22 -
2-layer
3-layer
N-layer
2006
Intro to IT lecture 9
pg
- 23 -
Linux
Zope
python
Qmail
own code
WWW
server
bsddb
SQL
server
2006
Intro to IT lecture 9
pg
- 28 -
Server
HTML
CSS, XML
DOM
Javascript
VBscript
Java
ActiveX
OS
Client
2006
Intro to IT lecture 9
pg
- 29 -
2006
Intro to IT lecture 9
pg
- 30 -
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
Intro to IT lecture 9
pg
- 31 -
2006
Intro to IT lecture 9
pg
- 33 -
2006
Intro to IT lecture 9
pg
- 34 -
2006
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
Intro to IT lecture 9
pg
- 37 -
Internet 0:
Radiochannel 1
Radiochannel 2
TV-channel 1
TV- channel 2
2006
Intro to IT lecture 9
pg
- 38 -
Internet 1:
1
0
0
M
I
L
L
I
O
N
S
2006
Intro to IT lecture 9
pg
- 39 -
Internet 2:
1
0
0
WWW
M
I
L
L
I
O
N
S
2006
Intro to IT lecture 9
pg
- 40 -
Internet 3:
1
0
0
M
I
L
L
I
O
N
S
2006
Intro to IT lecture 9
pg
- 41 -
Internet 3:
2006
human ??
Intro to IT lecture 9
pg
- 42 -
Internet 4: Skynet?
2006
Intro to IT lecture 9
pg
- 43 -
HTML:
2006
Intro to IT lecture 9
pg
- 44 -
Network services
Baasteenused
2006
Intro to IT lecture 9
pg
- 45 -
Ballmer:
".NET is at the core of what we're trying to do as a
company.
SOAP:
2006
Intro to IT lecture 9
pg
- 46 -
Applications ...
2006
Wholesales put their prices on the net, retailer search deal with
proper price and conditions
Intro to IT lecture 9
pg
- 47 -
Procedural vs declarative
2006
Intro to IT lecture 9
pg
- 48 -
Whats missing ?
<beer>
<name>Guinness</name>
<price>100</price>
</beer>
<olu>
<mark>Guinness</mark>
<hind>100</hind>
</olu>
2006
Intro to IT lecture 9
pg
- 49 -
Differing languages
2006
Intro to IT lecture 9
pg
- 50 -
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
2006
Intro to IT lecture 9
pg
- 51 -
16 June 2005
16 June 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
16 June 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
Transformation Example
16 June 2005
Characteristics of Systems
IS are like any other kind of system
Every system has:
Makes
comparisons
Thinks
about
16 June 2005
A real-world
situation or
problem
10
Types of IS
16 June 2005
11
Types of IS (contd)
16 June 2005
12
Types of IS (contd)
16 June 2005
13
16 June 2005
14
Hardware capabilities
System requirements
16 June 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
16
References
Bennett, McRobb and Farmer (2005)
Checkland and Scholes (1990)
16 June 2005
17
Problems in Information
Systems Development
Based on Chapter 2 of Bennett, McRobb and
Farmer:
18
June 2005
19
June 2005
20
June 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:
22
Owner View
Owners care about meeting business
needs and about value for money
Typical concerns include:
June 2005
23
Developer View
June 2005
24
Quality problems
Productivity problems
June 2005
25
Quality Problems
June 2005
26
Productivity Problems
Users change their minds
External events
June 2005
27
June 2005
28
Stakeholder Analysis
June 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
30
References
Flynn (1998)
June 2005
31
32
33
Finding ideas
Finding solutions
Implementation
Bennett, McRobb and Farmer 2005
34
Finding
ideas
Finding
solutions
Implementation
35
36
37
Design
Design
Construction
Testing
Code
Installation
Code
Maintenance
Maintenance
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
42
43
System
System
Engineering
Engineering
Requirements
Analy sis
Design
Design
Construction
Code
Testing
Code
Installation
Maintenance
Maintenance
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.
45
Define
objectives
Specify
Prototyping
completed
Evaluate
Construct
46
Prototyping Advantages:
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
48
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
User evaluation
Software development
Develop first
increment
Develop next
increment
49
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
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
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.
54
55
layering;
traceability;
report generation;
system simulation;
performance analysis;
code generation.
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
58
What Is Object-Orientation?
Based on Chapter 4 of Bennett, McRobb and
Farmer:
July 2005
Basic Concepts
July 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
Objects
Objects have state, behaviour and
identity.
Booch (1994)
Examples of Objects
Object
Identity
Behaviour State
A person.
Hussain Pervez.
Studying, resting,
qualified.
A shirt.
My favourite button
white denim shirt.
Pressed, dirty,
worn.
A sale.
Sale no #0015,
18/05/05.
Invoiced,
cancelled.
A bottle of
ketchup.
This bottle of
ketchup.
Spill in transit.
Unsold, opened,
empty.
July 2005
July 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
Specialization Hierarchy
More general
(superclasses)
Person
Employee
monthly
paid
Customer
weekly
paid
Driver
July 2005
Supplier
hourly
paid
Cleaner
10
Generalization and
Specialization
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
July 2005
12
Message-passing
Several objects may collaborate to fulfil
each system action
Record CD sale could involve:
July 2005
13
Message-passing and
Encapsulation
Layers of an onion
model of an object:
An outer layer of
operation signatures
gives access to middle
layer of operations
which can access
inner core of data
July 2005
An objects data
is hidden
(encapsulated).
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
15
Polymorphism in Resize
Operations
<<entity>>
Campaign
title
campaignStartDate
campaignFinishDate
getCampaignAdverts()
addNewAdvert()
<<entity>>
Campaign
title
campaignStartDate
campaignFinishDate
getCampaignAdverts()
addNewAdvert()
July 2005
16
Advantages of O-O
July 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
July 2005
18
References
Coad and Yourdon (1990)
Booch (1994)
OMG (2004)
July 2005
19
Modelling Concepts
Based on Chapter 5 of Bennett, McRobb and
Farmer:
20
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
22
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
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
27
Diagrams in UML
Plan Chapter
Produce
First Draft
Revise Draft
[not satisfied]
[satisfied]
Add Exercises
Add References
to Bibliography
28
Diagrams vs Models
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
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
32
Models in UML
33
subsystem
Campaign
Management
Package
Sub-system
Bennett, McRobb and Farmer 2005
Use Case
Model
Model
34
Developing Models
35
Iteration 1
Obvious use cases.
Simple use case descriptions.
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
Iteration 2
Additional use cases.
Simple use case descriptions.
Prototypes.
Campaign Selection
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
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
37
References
Booch, Rumbaugh and Jacobson (1999)
Bennett, Skelton and Lunn (2005)
38
Activity Diagrams
Based on Chapter 5 of Bennett, McRobb and
Farmer:
39
40
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
Actions
rectangle with rounded corners
meaningful name
Control flows
Add a New
Client
Assign Staff
Contact
42
Initial node
Add a New
Client
black circle
Decision nodes
(and merge nodes)
diamond
Guard conditions
in square brackets
Assign Staff
Contact
Final node
[campaign to add]
Add New
Campaign
43
Fork nodes
and join nodes
Add a New
Client
thick bar
Actions carried
out in parallel
Add New
Campaign
Assign Staff
Contact
44
45
Object flows
[Active]
open arrow
Record completion
of a campaign
Objects
rectangle
optionally shows the
state of the object in
square brackets
:Campaign
[Completed]
46
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
47
48
Identify actions
What happens when a new client is added
in the Agate system?
49
Drawing Activity
Diagrams
Add a New
Client
Assign Staff
Contact
Add New
Campaign
Assign Staff
to Campaign
50
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
52
53
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
55
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
57
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
59
Summary
In this lecture you have learned about:
The purpose of activity diagrams
The notation of activity diagrams
How to draw activity diagrams
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)
61
Development Process
Based on Chapter 5 of Bennett, McRobb and
Farmer:
62
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
64
Best Practice
Iterative and incremental development
Component-based development
Requirements-driven development
Configurability
Architecture-centrism
Visual modelling techniques
65
Four Phases
Inception
Elaboration
Construction
Transition
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
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
69
Requirements
Design
Analysis
Test
Implementation
Requirements
Analysis
Design
Implementation
Test
70
Techniques
Key Deliverables
Requirements
Capture and
Modelling
Requirements
Elicitation
Use Case
Modelling
Architectural
Modelling
Prototyping
71
Techniques
Requirements
Analysis
Communication
Analysis Models
Diagrams
Class and Object
Modelling
Analysis Modelling
Key Deliverables
72
Techniques
Key Deliverables
Overview Design
and
Implementation
Architecture
73
Techniques
Class Design
Key Deliverables
74
Techniques
Key Deliverables
User
Interface
Design
Design Models
with Interface
Specification
75
Techniques
Key Deliverables
Data
Management
Design
Design Models
with Database
Specification
76
Techniques
Key Deliverables
Construction
Programming
Component Reuse
Database DDL
Programming
Idioms
Manual Writing
Constructed
System
Documentation
77
Techniques
Testing
Programming
Test Plans
Test Planning and Test Cases
Design
Tested System
Testing
Key Deliverables
78
Techniques
Implementation
Planning
Installed System
Training
Data Conversion
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
81