Informatics 43 – September 29, 2015 Lecture 1-1 Emily Navarro.

Slides:



Advertisements
Similar presentations
Informatics 43 – October 7, 2014 Lecture 1-1 Emily Navarro.
Advertisements

INFORMATION TECHNOLOGY IN BUSINESS AND SOCIETY SESSION 20 – HOW SOFTWARE IS MADE SEAN J. TAYLOR.
Software Life Cycles ECE 417/617: Elements of Software Engineering
CS540 Software Design Lecture 1 1 Lecture 1: Introduction to Software Design Anita S. Malik Adapted from Budgen (2003) Chapters 1.
Tietojärjestelmien peruskurssi Software engineering Malin Brännback.
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?
What do Computer Scientists and Engineers do? CS101 Regular Lecture, Week 10.
No Silver Bullet Essence and Accidents of Software Engineering By Frederick P. Brooks Frederick P. Brooks Presentation by Yan Qi
CS 501: Software Engineering
1 CMSC 132: Object-Oriented Programming II Software Development I Department of Computer Science University of Maryland, College Park.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
Software Engineering CSE470: Embedded Systems Overview 49 What is an Embedded System What is an Embedded System? Definition of an embedded computer system:
It All Starts with the Menu
SOFTWARE CRISIS SOLUTIONS? © University of LiverpoolCOMP 319slide 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Approaches to ---Testing Software Some of us “hope” that our software works as opposed to “ensuring” that our software works? Why? Just foolish Lazy Believe.
Essence and Accident in Software Engineering By: Mike Hastings.
No Silver Bullet – Essence and Accident in Software Engineering.
What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.
Chapter 6: Project Time Management
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
1 SYS366 Lecture 1: Introduction to Systems. 2 What is Software Development? Software Development implies developing some software – but it does not involve.
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.
1 No Silver Bullet Brooks rides again…. 2 Essential Difficulties What are these “essential difficulties” that Brooks is referring to? Complexity Conformity.
Slide 10A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Modern Software Development Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Chapter 1: Introduction Omar Meqdadi SE 2730 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
CSE403 Software Engineering Autumn 2001 Design (Information Hiding) Gary Kimura Lecture #8 October 17, 2001.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
The Systems Development Life Cycle
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
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.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
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.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
Software Development Life Cycle (SDLC)
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
Lecture 4: Requirements Engineering COSI 120b, Principles of Software Engineering.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
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.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Lectures 2 & 3: Software Process Models Neelam Gupta.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
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,
CS 5150 Software Engineering
Software Processes (a)
Informatics 43 – March 31, 2016.
Tools of Software Development
UFCE8V-20-3 Information Systems Development SHAPE Hong Kong 2010/11
Presentation transcript:

Informatics 43 – September 29, 2015 Lecture 1-1 Emily Navarro

TA Office Hours Anirudh: Tuesdays 1-2pm, Java City Arjun: Wednesdays 3-4pm, Tech Garden (DBH 5054) Neeraj: Thursdays 4-5pm, Java City Andrea: Thursdays 3-4pm, Tech Garden Sowmya: Mondays 11am-12pm, Tech Garden

Today’s Lecture Perspectives on software engineering – Business – Engineering – Design – Others Software Principles No Silver Bullet

Today’s Lecture Perspectives on software engineering – Business – Engineering – Design – Others Software Principles No Silver Bullet

Today’s Lecture Perspectives on software engineering – Business – Engineering – Design – Others Software Principles No Silver Bullet

Business perspective: cars “…of all the staff hours in the entire program to build the Two-Mode Hybrid transmission…some 70 percent…were devoted to developing the control software”

Business perspective: cars “…of all the staff hours in the entire program to build the Two-Mode Hybrid transmission…some 70 percent…were devoted to developing the control software”

Business perspective: medical systems “…they won’t cover anywhere near the staggering cost of an Epic EHR. Duke University Health System will shell out $700 million, so will Boston-based Partners HealthCare; University of California, San Francisco will pay $150 million…” “Partners HealthCare — the giant parent organization of Massachusetts General and Brigham and Womens, among other hospitals — recently signed off on a new system that will cost at least $600 million and take years to fully implement. The real final tab is anyone’s guess.”

Business perspective: medical systems “…they won’t cover anywhere near the staggering cost of an Epic EHR. Duke University Health System will shell out $700 million, so will Boston-based Partners HealthCare; University of California, San Francisco will pay $150 million…” “Partners HealthCare — the giant parent organization of Massachusetts General and Brigham and Womens, among other hospitals — recently signed off on a new system that will cost at least $600 million and take years to fully implement. The real final tab is anyone’s guess.”

Business perspective: game development “The average price of game production slowly rose from $1M–4M in 2000 to over 5M in 2006 to over 20M in 2010.” “Grand Theft Auto IV is touted as the most expensive game ever made. The evidence: Rockstar Games spent a cool $100M on this fourth installment. At times, as many as 1000 people were purported to be working on the game and the stupendous soundtrack alone shows it…” “In 2009 games market annual value is estimated between $7–30 billion, depending on which sales figures are included. This is on par with films box office market.”

Business perspective: game development “The average price of game production slowly rose from $1M–4M in 2000 to over 5M in 2006 to over 20M in 2010.” “Grand Theft Auto IV is touted as the most expensive game ever made. The evidence: Rockstar Games spent a cool $100M on this fourth installment. At times, as many as 1000 people were purported to be working on the game and the stupendous soundtrack alone shows it…” “In 2009 games market annual value is estimated between $7–30 billion, depending on which sales figures are included. This is on par with films box office market.”

Business perspective: bonus

Business perspective Ultimately, from a business perspective, three issues matter: – cost of developing (purchasing) software – time to market of product – profit that will be made from sale of software Software engineering can help in – keeping cost low – accelerating time to market – creating a product that will bring in large profits

Today’s Lecture Perspectives on software engineering – Business – Engineering – Design – Others Software Principles No Silver Bullet

Engineering perspective: cars

Engineering perspective: medical systems

software-failures-responsible-24-all-medical- device-recalls Software failures were behind 24 percent of all the medical device recalls in 2011, according to data from the U.S. Food and Drug Administration, which said it is gearing up its labs to spend more time analyzing the quality and security of software-based medical instruments and equipment.

Engineering perspective: medical systems software-failures-responsible-24-all-medical- device-recalls Software failures were behind 24 percent of all the medical device recalls in 2011, according to data from the U.S. Food and Drug Administration, which said it is gearing up its labs to spend more time analyzing the quality and security of software-based medical instruments and equipment.

Engineering perspective: game development

Engineering perspective Ultimately, from an engineering perspective, what matters is the internal quality of the software, and making it work within the constraints of the environment – Internal quality: quality of the software from a designer’s/implementer’s perspective Software engineering can help in engineering systems with better internal quality

Today’s Lecture Perspectives on software engineering – Business – Engineering – Design – Others Software Principles No Silver Bullet

Design perspective: cars

Design perspective: medical systems “Unfortunately, Ava is extremely not awesome looking.... They should take a hint from Apple and make her look awesome.”

Design perspective: medical systems “…can respond to a user’s physical cues with nuzzles, sounds, and more…” “…has conductive fabric standing in as fur in many places, allowing it to respond based on how hard or soft it’s touched.” “…will pat somebody,… nuzzle against you… make sounds like a dog...” “I expect the results to be very similar to what you would see with animal- assisted therapy with an actual dog.” Source:

Design perspective: game development _Database/no_twinkie_database.htm “…the things that make a boss battle boring are, "stupid amounts of repetition, ridiculously high/replenishing energy [i.e. boss health] combined with unimaginative gameplay (yawn), and powered up versions of previous bosses.“ “More lazy puzzle design. At the end of Infidel, which was another Infocom adventure, you had to do four things in a certain sequence. The number of possible combinations is 4! (four factorial, or 24). There was no clue whatsoever as to the correct sequence; you just had to try them all. Yuck. Yet another time-waster with no enjoyment value. “

Design perspective: game development _Database/no_twinkie_database.htm “…the things that make a boss battle boring are, "stupid amounts of repetition, ridiculously high/replenishing energy [i.e. boss health] combined with unimaginative gameplay (yawn), and powered up versions of previous bosses.“ “More lazy puzzle design. At the end of Infidel, which was another Infocom adventure, you had to do four things in a certain sequence. The number of possible combinations is 4! (four factorial, or 24). There was no clue whatsoever as to the correct sequence; you just had to try them all. Yuck. Yet another time-waster with no enjoyment value. “

Design perspective: game development review/ “The tragic kicker is that the game anomalously bogs down without warning, the frame rate suddenly chugging, turning already delicate vehicular controls into impossibly fiddly ones…” “…it’s bad enough to negatively impact the way the game plays, which is where it crosses the line from aesthetically debatable to functionally unacceptable.”

Design perspective: game development review/ “The tragic kicker is that the game anomalously bogs down without warning, the frame rate suddenly chugging, turning already delicate vehicular controls into impossibly fiddly ones…” “…it’s bad enough to negatively impact the way the game plays, which is where it crosses the line from aesthetically debatable to functionally unacceptable.”

Design perspective Ultimately, from an design perspective, what matters is the external quality of the software – External quality: the quality of the software from a user perspective Software engineering can help in designing systems with better external quality

Today’s Lecture Perspectives on software engineering – Business – Engineering – Design – Others Software Principles No Silver Bullet

What did all the blind men miss?

Can anyone see software?

What parts of software do we (the blind) “see”? User: the user interface – buttons, icons, menus, etc. Programmer: source code Electrical engineer: semiconductors, transistors, power supply Society: impact, output, trends, dangers Business people: profits, costs, required training Designers: product, structure Software project manager: teams, budgets, timetables Professor of software engineering: principles Students of software engineering: work, work, work

What parts of software do we (the blind) “see”? User: the user interface – buttons, icons, menus, etc. Programmer: source code Electrical engineer: semiconductors, transistors, power supply Society: impact, output, trends, dangers Business people: profits, costs, required training Designers: product, structure Software project manager: teams, budgets, timetables Professor of software engineering: principles Students of software engineering: work, work, work Students of software engineering: opportunity, challenge, fun

Most students in this class… have used a lot of software, and “see” the user interface aspect; have done some programming, and “see” the code and algorithms aspect. But those aren’t the focus of Informatics 43!

Informatics 43 Perspective The process of constructing software. Phases of development other than programming. Principles and qualities of enduring value.

Today’s Lecture Perspectives on software engineering – Business – Engineering – Design – Others Software Principles No Silver Bullet

Principles of Software Engineering Davis, 1994 Make Quality Number 1 Give products to customers early Understand the problem first Use an appropriate process model Get it right before you make it faster Good management is more important than good technology People are the key to success

Principles of Software Engineering Royce, 1998 Use a risk-driven, iterative process Use component-based development (buy vs. build) to reduce the coding effort Use change management Show the customer preliminary versions of the software frequently Have incremental releases

Principles of Software Engineering Wasserman, 1996 Modularity Abstraction UI prototyping Reuse Metrics

Inf 43 Recurring, fundamental principles Rigor and formality Separation of concerns – modularity – divide and conquer – abstraction Anticipation of change Generality Incrementality

Today’s Lecture Perspectives on software engineering – Business – Engineering – Design – Others Software Principles No Silver Bullet

No Silver Bullet – Essence and Accidents of Software Engineering, by Frederick Brooks What is the essence of software…  What are the essential qualities that make building software hard?

No Silver Bullet – the essence.. “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 Conformity Changeability Invisibility

Inherent properties of the essence – Complexity Software entities are complex. “No two parts are alike.” Nonlinear increase 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 it was written for.

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

No Silver Bullet – Breakthroughs that only solved accidental difficulties High-level languages. Time-sharing. Unified programming environments.

No Silver Bullet – Breakthroughs that only solved accidental difficulties High-level languages. Time-sharing. Unified programming environments.

No Silver Bullet – Touted as “silver bullets” but fall short 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 – Touted as “silver bullets” but fall short 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 (potential “silver bullets”) 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.”

Videos Abstraction: p7nGcY73epw p7nGcY73epw Abstraction: bpLgI9NHPk0 bpLgI9NHPk0 Self-driving car: tiwVMrTLUWg (start at 7:44)

Next Time Software failures Requirements engineering Complete assigned readings before Thursday NO DISCUSSION TOMORROW