informatics 43 – september 29, 2015 lecture 1-1 emily navarro

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

Upload: abraham-grant

Post on 03-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

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

Informatics 43 – September 29, 2015

Lecture 1-1Emily Navarro

Page 2: 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

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

Today’s Lecture

• Perspectives on software engineering– Business– Engineering– Design– Others

• Software Principles• No Silver Bullet

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

Today’s Lecture

• Perspectives on software engineering– Business– Engineering– Design– Others

• Software Principles• No Silver Bullet

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

http://www.constitution.org/col/blind_men.htm

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

Today’s Lecture

• Perspectives on software engineering– Business– Engineering– Design– Others

• Software Principles• No Silver Bullet

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

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”

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

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”

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

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.”

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

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.”

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

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.”

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

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.”

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

Business perspective: bonus

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

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

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

Today’s Lecture

• Perspectives on software engineering– Business– Engineering– Design– Others

• Software Principles• No Silver Bullet

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

Engineering perspective: cars

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

Engineering perspective: medical systems

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

Engineering perspective: medical systems

• https://threatpost.com/en_us/blogs/fda-software-failures-responsible-24-all-medical-device-recalls-062012

• 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.

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

Engineering perspective: medical systems

• https://threatpost.com/en_us/blogs/fda-software-failures-responsible-24-all-medical-device-recalls-062012

• 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.

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

Engineering perspective: game development

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

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

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

Today’s Lecture

• Perspectives on software engineering– Business– Engineering– Design– Others

• Software Principles• No Silver Bullet

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

Design perspective: cars

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

Design perspective: cars

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

Design perspective: medical systems

“Unfortunately, Ava is extremely not awesome

looking.... They should take a hint from

Apple and make her look awesome.”

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

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: http://www.wired.com/2015/08/therabot-puppy-robot/

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

Design perspective: game development

• http://www.designersnotebook.com/Design_Resources/No_Twinkie_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. “

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

Design perspective: game development

• http://www.designersnotebook.com/Design_Resources/No_Twinkie_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. “

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

Design perspective: game development

• http://www.wired.com/2015/09/mad-max-game-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.”

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

Design perspective: game development

• http://www.wired.com/2015/09/mad-max-game-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.”

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

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

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

Today’s Lecture

• Perspectives on software engineering– Business– Engineering– Design– Others

• Software Principles• No Silver Bullet

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

What did all the blind men miss?

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

Can anyone see software?

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

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

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

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

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

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!

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

Informatics 43 Perspective

• The process of constructing software.

• Phases of development other than programming.

• Principles and qualities of enduring value.

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

Today’s Lecture

• Perspectives on software engineering– Business– Engineering– Design– Others

• Software Principles• No Silver Bullet

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

Principles of Software EngineeringDavis, 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

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

Principles of Software EngineeringRoyce, 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

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

Principles of Software EngineeringWasserman, 1996

• Modularity

• Abstraction

• UI prototyping

• Reuse

• Metrics

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

Inf 43 Recurring, fundamental principles

• Rigor and formality• Separation of concerns– modularity– divide and conquer– abstraction

• Anticipation of change• Generality• Incrementality

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

Today’s Lecture

• Perspectives on software engineering– Business– Engineering– Design– Others

• Software Principles• No Silver Bullet

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

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?

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

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.”

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

Inherent properties of the essence –

Complexity

Conformity

Changeability

Invisibility

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

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

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

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.

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

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.

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

Inherent properties of the essence– Invisibility

• “The reality of software is not inherently embedded in space.”

• Hinders both understanding and communication among minds.

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

No Silver Bullet – Breakthroughs that only solved accidental difficulties

• High-level languages.• Time-sharing.• Unified programming environments.

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

No Silver Bullet – Breakthroughs that only solved accidental difficulties

• High-level languages.• Time-sharing.• Unified programming environments.

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

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.

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

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.

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

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.”

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

Videos

• Abstraction: https://www.youtube.com/watch?v=p7nGcY73epw

• Abstraction: https://www.youtube.com/watch?v=bpLgI9NHPk0

• Self-driving car: https://www.youtube.com/watch?v=tiwVMrTLUWg (start at 7:44)

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

Next Time

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