barry boehm a view of 20 th and 21 st century software engineering international conference on...
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