Informatics 43 – March 31, 2016.

Slides:



Advertisements
Similar presentations
Ch 3: Unified Process CSCI 4320: Software Engineering.
Advertisements

Object-Oriented Software Development CS 3331 Fall 2009.
INFORMATION TECHNOLOGY IN BUSINESS AND SOCIETY SESSION 20 – HOW SOFTWARE IS MADE SEAN J. TAYLOR.
Delivering peace of mind Architecting for Changes with UML Emmanuel FUCHS C2 Architect.
CS540 Software Design Lecture 1 1 Lecture 1: Introduction to Software Design Anita S. Malik Adapted from Budgen (2003) Chapters 1.
The Mythical Man-Month by Fred Brooks (I) Published 1975, Republished 1995 Experience managing the development of OS/360 in Central Argument –Large.
No Silver Bullet - Essence and Accident in Software Engineering By: R. Adam Mead.
No Silver Bullet “There is no single development, in either technology or management technique, which by itself promises even one order-of magnitude improvement.
What is Software Engineering? And why is it so hard?
No Silver Bullet Essence and Accidents of Software Engineering By Frederick P. Brooks Frederick P. Brooks Presentation by Yan Qi
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Software Processes: Traditional CSCI102 - Systems ITCS905 - Systems MCS Systems.
“No Silver Bullet” by F. Brooks
Course Introduction and Overview of Software Engineering Richard N. Taylor ICS 221 Fall 2002.
SOFTWARE CRISIS SOLUTIONS? © University of LiverpoolCOMP 319slide 1.
Ch.11 Software Engineering A Preview. Ch.12 Outline Definitions of software engineering (SE) Historical origins of SE SE as part of systems engineering.
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
Essence and Accident in Software Engineering By: Mike Hastings.
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
No Silver Bullet – Essence and Accident in Software Engineering.
Software Engineering ‘The establishment and use of sound engineering principles (methods) in order to obtain economically software that is reliable and.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
No Silver Bullet. CS460 - Senior Design Project I (AY2004)2 No silver bullet "No Silver Bullet" –– a paper by Fred Brooks, Professor of Computer Science.
Software Engineering Lecture # 1. What is Software? 2 Software is a set of items or objects that includes: programs data documents.
Software Engineering Introduction and Overview Takes customer-defined goals and constraints and derives a representation of function, performance, interfaces,
Software Engineering Management Lecture 1 The Software Process.
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
Informatics 43 – September 29, 2015 Lecture 1-1 Emily Navarro.
Slide 2.1 CHAPTER 2 THE SOFTWARE PROCESS. Slide 2.2 Overview l Client, Developer, and User l Requirements Phase l Specification Phase l Design Phase l.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
No Silver Bullet – Essence and Accident “Not only are there no silver bullets now in view, the very nature of software makes it unlikely that there will.
“No Silver Bullet”. No Silver Bullet  "No Silver Bullet" –– a paper by Fred Brooks, Professor of Computer Science at University of North Carolina in.
Overview: Software and Software Engineering n Software is used by virtually everyone in society. n Software engineers have a moral obligation to build.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
Software Engineering Lecture # 1. What is Software? 2 Software is a set of items or objects that includes: programs data documents.
Pertemuan 1 Introduction to Software Engineering Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
By David Sanders Title Explanation  Werewolves are quite terrifying, simply because they transform unexpectedly into horrors. To kill werewolves,
CS3320-Chap21 Office Hours TR 1:00-2:15 PM W 2:30-3:30 PM By appointment.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Informatics 43 – March 29, Course Staff Prof. Dan Frost TA Tanooj Parekh (10:00 and 3:00 discussions) TA Ashwin Achar (11:00 and 12:00 discussions)
PRESENTATION 2 CS 5391 Survey of Software Engineering Chang-Ho Lee No Silver Bullet: Essence and Accidents of Software Engineering By Frederick P. Brooks,
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
Advanced Software Engineering Dr. Cheng
Software Engineering - CSC 323
Software Engineering cosc 4359 Spring 2017.
CompSci 280 S Introduction to Software Development
Software Engineering Management
Intelligent Systems Development
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Introduction to Software Engineering (2/2)
Fred Brooks - A Software Engineering Icon - “No Silver Bullet”
Chapter 2 Software Engineering
References: "Software Engineering, 9th ed." (Addison-Wesley 2011)
Software Processes.
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Software engineering Lecturer: Nareena.
Tools of Software Development
Chapter 2 Software Engineering
Overview: Software and Software Engineering
UFCE8V-20-3 Information Systems Development SHAPE Hong Kong 2010/11
Software Engineering Lecture #45
Informatics 121 Software Design I
“No Silver Bullet” by F. Brooks
Software Engineering Lecture #3
What Is Good Software(Program)?
Human Computer Interaction Lecture 14 HCI in Software Process
Introduction Software Engineering.
Chapter 1: Software and Software Engineering
Presentation transcript:

Informatics 43 – March 31, 2016

What is Software Engineering?

What is Software Engineering? Software – Code Documentation, user manuals Designs, specifications Test cases Plans and schedules

What is Software Engineering? Software – Code Documentation, user manuals Designs, specifications Test cases Plans and schedules Skill and knowledge Application of scientific principles Trade-offs, cost / benefit analysis

From the textbook What is Software Engineering? The establishment and use of sound engineering principles (methods) in order to obtain economically software that is reliable and works on real machines. The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.

What is Software Engineering? David Parnas and Brian Randell: “The multi-person development of multi-version programs.”

What is Software Engineering? An important component of your future career. Developer of software Co-worker with software developers Manager of software developers User of developed software Payer for developed software

What is Software Engineering? Informatics 43: The process of constructing software. Phases of development other than programming. Principles and qualities of enduring value.

What is Software Engineering? Informatics 43: The process of constructing software. Phases of development other than programming. Principles and qualities of enduring value. Also of (lesser) interest (in this course): Managing & scheduling software development teams. Making money – business models. Software’s impact on users, organizations, and society.

What is Software Engineering? The process of constructing software.

What is Software Engineering? Phases of development other than programming. Design:

Correctness! MODULARITY What is Software Engineering? Principles and qualities of enduring value. Correctness! MODULARITY

No Silver Bullet – Essence and Accident in Software Engineering, by Frederick Brooks A software project can become a monster of missed schedules, blown budgets, and flawed products.

No Silver Bullet The difficulties of software… Essence: “difficulties inherent in the nature of software” Accident: “difficulties that today attend its production but are not inherent” – for example, the representation of the essence in a programming language

No Silver Bullet – the essence of a software entity: “a construct of interlocking concepts: data structures and classes, algorithms, function calls.” “the hard part of building software is the specification, design, and testing of the conceptual construct – not the programming and testing of the code.”

Inherent properties of the essence – Complexity Software entities are complex. “No two parts are alike.” Nonlinear increase of complexity with size  difficulty of communication among team members  unreliability  hard to use  difficulty of extending  security trapdoors

Inherent properties of the essence– Conformity Software must conform to human institutions and systems. No way to “simplify out” this complexity by redesigning the software alone.

Inherent properties of the essence– Changeability “All successful software gets changed.” Pressures for extended function. Software can be changed more easily. Successful software survives beyond the life of the hardware for which it was written.

Inherent properties of the essence– Invisibility Software is unvisualizable. “The reality of software is not inherently embedded in space.” Hinders both understanding and communication among minds.

No Silver Bullet – Past Breakthroughs Most fruitful steps (as of mid 1980s) High-level languages. Time-sharing. Unified programming environments.

No Silver Bullet – Hopes for the Silver Ada and other high level languages. Object-oriented programming. Artificial intelligence. Expert systems. “Automatic” programming. Graphical programming. Program verification. Environments and tools. Workstations.

No Silver Bullet – Promising Attacks Buy versus build. Requirements refinement and rapid prototyping. Incremental development—grow, not build software. Great designers. “The central question of how to improve the software art centers, as always, on people.”

To do: Readings for discussion tomorrow Think about the “root” causes of software project failures… “Creeping user requirements” What Brooks says What Ortiz says Castro says

Feature Creep