Informatics 43 * April 2, 2013

advertisement
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
http://www.constitution.org/col/blind_men.htm
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
Engineering perspective: medical
systems
• https://threatpost.com/en_us/blogs/fdasoftware-failures-responsible-24-all-medicaldevice-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.
Engineering perspective: medical
systems
• https://threatpost.com/en_us/blogs/fdasoftware-failures-responsible-24-all-medicaldevice-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.
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: 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…”
“I expect the results to be
very similar to what you
would see with animalassisted therapy with an
actual dog.”
“…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...”
Source: http://www.wired.com/2015/08/therabot-puppy-robot/
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. “
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. “
Design perspective: game
development
• http://www.wired.com/2015/09/mad-max-gamereview/
• “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
• http://www.wired.com/2015/09/mad-max-gamereview/
• “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:
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)
Next Time
•
•
•
•
Software failures
Requirements engineering
Complete assigned readings before Thursday
NO DISCUSSION TOMORROW
Download