You are on page 1of 44

(, , )

, 2016
. -

Y2K
Y2K bug
Year 2000 bug or Millennium Bug


(?!)


?
( , ,
, ,
, ...)
:
Total Real Value Added by the Software and Related Services
(in billions)


...
2007 1,700,000


2013
407.3 USD 4.8%
2012

The software market is large and


highly globalized

IBM (1994):
55%

68%
88%


.

.
80%



... 59,5
0.6% GDP*.

, .
1/3

.
,
(
)

*) http://www.nist.gov/public_affairs/releases/n02-10.htm



(
)

(by accident).


!
* Nathaniel Borenstein, inventor of MIME, in: Programming as if People Mattered:
Friendly Programs, Software Engineering and Other Noble Delusions, Princeton University Press, Princeton, NJ, 1991.

10

http://sunnyday.mit.edu/therac-25.html

Panama 22 May, 2001: 28 ; 8


; 3/4 20


http://www.fda.gov/cdrh/ocd/panamaradexp.html

Ariane-5 ESA, 1996:


( )
ADA

http://www.esa.int/htdocs/tidc/Press/Press96/ariane5rep.html
http://www.ima.umn.edu/~arnold/disasters/ariane.html

https://www.youtube.com/watch?v=EMVBLg2MrLs

11

MIM-104 Patriot SAM

25 1991 ,
SCUD 28
Dharan

Patriot .


MIM-104 Patriot SAM


100 1/3
600 .
http://en.wikipedia.org/wiki/Patriot_missile

12

: bugs/kloc

/
10
0.1


.

( -,
.)

.

kloc KiloLinesOfCode

13

Standard software disclaimer (1)

[This] Software is provided 'as is' without warranty of


any kind, either express or implied, including, but not
limited to, the implied warranties of fitness for a
purpose, or the warranty of non-infringement. Without
limiting the foregoing, the [Firm] makes no warranty
that:
the software will meet your requirements
the software will be uninterrupted, timely, secure or
error-free
the results that may be obtained from the use of the
software will be effective, accurate or reliable
the quality of the software will meet your expectations
any errors in the software obtained from the [Firm] will
be corrected.

14

Standard software disclaimer (2)

In no event shall the [Firm] be liable to you or any third


parties for any special, punitive, incidental, indirect or
consequential damages of any kind, or any damages
whatsoever, including, without limitation, those resulting
from loss of use, data or profits, whether or not the [Firm]
has been advised of the possibility of such damages,
and on any theory of liability, arising out of or in
connection with the use of this software.
The use of this software is done at your own discretion
and risk and with agreement that you will be solely
responsible for any damage to your computer system or
loss of data that results from such activities. No advice or
information, whether oral or written, obtained by you
from the [Firm] or from the [Firm] web site shall create
any warranty for the software.

15

You know whats needed before we get good


software? Cars in this country got better when
Japan showed us that cars could be built better.
Someone will have to show the industry that
software can be built better.
John Murray, FDAs software quality guru
quoted in Software Conspiracy, Mark Minasi,
McGraw Hill, 2000

16



,
.
:

19




I gave desperate warnings against the obscurity, the
complexity, and over-ambition of the new design, but my
warnings went unheeded. I conclude that there are two
ways of constructing a software design: One way is to
make it so simple there are obviously no deficiencies
and the other way is to make it so complicated that there
are no obvious deficiencies.
Tony Hoare, Turing Award Lecture,
1980 talking about the design of Ada

20

Keep it simple!


.




,

.

21

...
?

-
?


?
?

22

-
:
1) ( )

,
;
2)

;
3) ,

.

23

-,
,

()

24



.




(),

25

26

27

28


!
1.
,

2.
3.

(
)

(), (
, ) (.1, .2)


,

29

Infant
mortality

Failure rate

Wear out

Time

30

Failure rate

Increased failure
rate due to side
effects

Change
Actual curve

Idealized curve
Time

31


.
,
(),



.

(
)

.

32

(, )

( , )


/ , ,
,
, ,

Real-time software

:
.
.


(, , , ...)

33

CAM, CAD, , , ...

(embedded)


/
, MP3 players, routers, ,

PC - (Product-line)

( )
(word processing, spreadsheets, computer graphics,
multimedia, entertainment)

Web

(browser)

, , (,
) ...

34

Legacy software

(10+ )



,

- -

, :

35

...
...

?
?

?

?

?

36

Open-world computing

Netsourcing

networking, pervasive, distributed computing


World Wide Web is rapidly becoming a computing
engine as well as a content provider

Open source

distribution of source code for systems applications


so that many people can contribute to its
development

37

Web

Cloud computing
Product line software

38

WEB

39

:
up-front fee -
()

2. maintenance
(15-25% 1.) patches,
upgrades,
3. , , , ..
1.

40

1990 70%

up-front fee
2000 50%
up-front fee

30%
0% !!!

41

free OpenSource upfront=0


subscription license

usage license (Oracle)

3
1 ()
site license
on-demand usage-based license

Software as a service
Razor and blade model
(Adobe)
Service model
, , ,
, ... (Red Hat)
Advertising model
,
(Google, Microsoft Live)

42

Proprietary software
non-free

software or closed-source software

Free software (open-source software)


source

code must be made available


Free software licenses

GNU General Public License


GNU Lesser General Public License
BSD License
Mozilla Public License
MIT License
Apache License

43

()

Freeware ()
Shareware ( /
)
Open source (
)
Commercial


Proprietary free (Red Hat, Sun, )

Abandonware
Adware

44

Pressman 7th edition, Ch. 1


or
Pressman 8th edition, Ch. 1

45

46

You might also like