barry boehm a view of 20 th and 21 st century software engineering international conference on...

Post on 31-Dec-2015

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Barry BoehmA View of 20Th and 21st Century Software Engineering

International Conference on Software Engineering (ICSE-2006), pp. 12-29

CS 791zGraduate Topics on Software Engineering

University of Nevada, RenoDepartment of Computer Science & Engineering

Outline

Introduction A Hegelian View of Software Engineering A View of 2010’s and Beyond Conclusions

2

Concept

3

Concept

4

A Hegelian View of SE

Hegel believed that human understanding follows a path of Thesis – this is why things happen they way they do Antithesis – the thesis fails in some important ways,

here’s a better explanation Synthesis – the antithesis rejected too much of the

original thesis, here’s a better hybrid explanation that captures the good from both thesis and antithesis

5

A Hegelian View of SE: 1950’s

6

A Hegelian View of SE: 1950’s

7

A Hegelian View of SE: 1960’s

8

Characteristics: code-and-fix; software maintenance; non-engineering people; 1960’s “question authority” mentality; hacker culture; cowboy programmers.

A Hegelian View of SE: 1960’s

9

A Hegelian View of SE: 1970’s

10

A Hegelian View of SE: 1970’s

11

A Hegelian View of SE: 1970’s

12

A Hegelian View of SE: 1970’s

13

A Hegelian View of SE: 1970’s

14

A Hegelian View of SE: 1970’s

15

A Hegelian View of SE: 1980’s

16

A Hegelian View of SE: 1980’s

17

A Hegelian View of SE: 1980’s

18

Solutions:- Software Tools

- New testing and CM tools- IPSE’s- CASE

- Software Processes- “Software Processes are Software Too” - DoD STARS program on work avoidance- CMU-SEI, similar organizations in Europe and Japan - Brooks’ “No silver bullet” (1983)

- Accidental vs essential tasks (c, c, c, i) - Software Reuse

- Commercial infrastructure software reuse- OOP: Smalltalk, Eiffel, C++, Java

A Hegelian View of SE: 1990’s

19

A Hegelian View of SE: 1990’s

20

Other directions in 1990s: - Emphasis on Time-to-Market- Controlling concurrency in

engineering (see Boehm’s own spiral process)

- Open source development- Usability and HCI

A Hegelian View of SE: 2000’s

21

A Hegelian View of SE: 2000’s

22

New directions:• Agile methods• Value-based SE• Software criticality and dependability• COTS, open source, and legacy software• Model-driven development• Interacting software and systems engineering

A Hegelian View of SE: 2000’s

23

A Hegelian View of SE: 2000’s

24

25

A View of SE: 2010’s & beyond

26

A View of SE: 2010’s & beyond

A View of SE: 2010’s and beyond

27

A View of SE: 2010’s and beyond

28

SE for systems of systems

A View of SE: 2020’s & beyond

29

Computational plenty trends

A View of SE: 2020’s & beyond

30

Wildcards: Autonomy & Bio-computing

A View of SE: 2020’s & beyond

31

Wildcards: Autonomy & Bio-computing

Conclusions

32

Timeless Principles and Aging Practices

Conclusions

33

Timeless Principles and Aging Practices

Conclusions

34

Timeless Principles and Aging Practices

Conclusions

35

Timeless Principles and Aging Practices

Conclusions

36

Timeless Principles and Aging Practices

Conclusions

37

Timeless Principles and Aging Practices

Conclusions

38

Timeless Principles and Aging Practices

Conclusions

39

Challenges for SE education

top related