Barry Boehm A View of 20 Th and 21 st Century Software Engineering International Conference on Software Engineering (ICSE- 2006), pp. 12-29 CS 791z Graduate.

Slides:



Advertisements
Similar presentations
Engineering Medical Information Systems
Advertisements

Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
CS487 Software Engineering Omar Aldawud
Lifecycle models For more info on these models – see text
Delivering peace of mind Architecting for Changes with UML Emmanuel FUCHS C2 Architect.
University of Southern California Center for Software Engineering C S E USC A View of 20 th and 21 st Century Software Engineering Barry Boehm ICSE 2006.
CS 791z Graduate Topics on Software Engineering
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
The Mythical Man-Month by Fred Brooks (I) Published 1975, Republished 1995 Experience managing the development of OS/360 in Central Argument –Large.
The Process of Interaction Design. Overview What is Interaction Design? —Four basic activities —Three key characteristics Some practical issues —Who are.
The Process of Interaction Design
What is Interaction Design?
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
Software Engineering.
May 11, 2004CS WPI1 CS 562 Advanced SW Engineering Lecture #5 Tuesday, May 11, 2004.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Chapter 5: Advanced Use Case Modeling [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno Department of Computer Science.
What is software engineering?
The Process of Interaction Design. What is Interaction Design? It is a process: — a goal-directed problem solving activity informed by intended use, target.
Normans Principles Usability Engineering. Normans Principle Norman’s model of interaction is perhaps the most influential in human computer interaction.
Software Dependability: The Next Step Michael Evangelist Fraunhofer Center for Experimental Software Engineering College Park, MD.
University of Southern California Center for Software Engineering C S E USC Barry Boehm, USC DoD Software Engineering S&T Summit August 7, 2001
SOFTWARE CRISIS SOLUTIONS? © University of LiverpoolCOMP 319slide 1.
Software engineering on semantic web and cloud computing platform Xiaolong Cui Computer Science.
1 INTRODUCTION TO OOP Objective: Know the difference between functional programming and OOP Know basic terminology in OOP Know the importance of OOP Know.
Gerardo Schneider Department of Informatics University of Oslo Oslo, March 2009.
Software Engineering Introduction. Why are you here? …alternatively, why do we think you need to be here? Why a course on software engineering? How is.
15 th Conference on Software Engineering Education and Training Foundation Software Engineering Practices for Capstone Projects and Beyond Annegret Goold.
August 19, August 19, 2015August 19, 2015August 19, 2015 Azusa, CA Sheldon X. Liang Ph. D. CS 470 Software Engineering I Azusa Pacific University,
Computing and SE II Chapter 2: A Brief History of SE Er-Yu Ding Software Institute, NJU.
On Education Gerrit C. van der Veer most work done by Anne Bowser Elizabeth Churchill Jennifer Preece.
A View of 20 th and 21 st Century Software Engineering Barry Boehm ICSE 2006 Keynote Address.
Ivar Jacobson and Ed Seidewitz A New Software Engineering Communications of the ACM, Dec. 2014, 57 (12): CS 791z Graduate Topics on Software Engineering.
Alyce Brady, Kalamazoo College Engineering = cost-effective solutions to practical problems by applying scientific knowledge in building things in service.
Whitacre College of Engineering Panel Interdisciplinary Cybersecurity Education Texas Tech University NSF-SFS Workshop on Educational Initiatives in Cybersecurity.
Software Engineering Lecture # 1. What is Software? 2 Software is a set of items or objects that includes: programs data documents.
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
Introduction To Software Component Reuse
Software Safety Risk Evaluation Process Yorick Bouma, , Group III.
Sarah Beecham, Padraig O’Leary, Sean Baker, Ita Richardson, and John Noll (2014), Making Software Engineering Research Relevant, IEEE Computer 47 (4):
Engineering  Turning ideas into reality  Creating something useful from other things using science and math.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
The Making of the Modern World Professor Frederick CHEUNG Department of History The Chinese University of Hong Kong.
Gary MarsdenSlide 1University of Cape Town Human-Computer Interaction - 4 User Centred Design Gary Marsden ( ) July 2002.
Week 1a: Introduction to the Module Graham Logan Building 303, Room 30 CO5021 Systems Development.
Computer Engineering School of Engineering at Fairfield University Prof. D. Lyon, Chair, Computer Engineering
Software Engineering Lecture # 1. What is Software? 2 Software is a set of items or objects that includes: programs data documents.
Introduction The design, development and maintenance of concurrent software are difficult tasks. Truly effective support methodologies have yet to be developed.
© Monica Farrow & Andrew Ireland Software Design F28SD2 Future Horizons Monica Farrow & Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt.
CSI 1340 Introduction to Computer Science II Chapter 1 Software Engineering Principles.
Computer Engineering School of Engineering at Fairfield University Prof. D. Lyon, Chair, Computer Engineering
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
CSCI 3428: Software Engineering Tami Meredith Chapter 1 Why Software Engineering.
1 slc5 TTYP – C++ revisited 1 Which of the following statements are reasonable after the following statement: char* fred = new char[5]; a. fred = bill;
Software: Process and Product
Author Name 1, Author Name 2, & Author Name 3
Author Name 1, Author Name 2, & Author Name 3
A View of 20th and 21st Century Software Engineering
CS 577b: Software Engineering II
Chapter 5: Advanced Use Case Modeling
Onno Kubbe Design Rule Ontology Onno Kubbe 12/2/2018.
Author Name 1, Author Name 2, & Author Name 3
Software Engineering INTRODUCTION
Author Name 1, Author Name 2, & Author Name 3
Practical Software Engineering
Chapter 19: Interfaces and Components
A View of 20th and 21st Century Software Engineering
PPT1: Basics of software engineering
CS 791z Graduate Topics on Software Engineering
CS 791Graduate Topics in Computer Science [Software Engineering]
Presentation transcript:

Barry Boehm A View of 20 Th and 21 st Century Software Engineering International Conference on Software Engineering (ICSE- 2006), pp CS 791z Graduate Topics on Software Engineering University of Nevada, Reno Department of Computer Science & Engineering

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

3

4

 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

6

7

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

9

10

11

12

13

14

15

16

17

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

19

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

21

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

23

24

25

26

27

28 SE for systems of systems

29 Computational plenty trends

30 Wildcards: Autonomy & Bio-computing

31 Wildcards: Autonomy & Bio-computing

32 Timeless Principles and Aging Practices

33 Timeless Principles and Aging Practices

34 Timeless Principles and Aging Practices

35 Timeless Principles and Aging Practices

36 Timeless Principles and Aging Practices

37 Timeless Principles and Aging Practices

38 Timeless Principles and Aging Practices

39 Challenges for SE education