Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Informatics 43 – October 7, 2014 Lecture 1-1 Emily Navarro."— Presentation transcript:

1 Informatics 43 – October 7, 2014 Lecture 1-1 Emily Navarro

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

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

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

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

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

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

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

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

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

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

12 Business perspective: bonus

13 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 The cost and time to market should both be minimized as much as possible The profit should be maximized as much as possible Software engineering can help in – keeping cost low – accelerating time to market – creating a product that will bring in large profits

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

15 Engineering perspective: cars

16 Engineering perspective: medical systems

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

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

19 Engineering perspective: game development

20 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 This internal quality should be maximized as much as possible Software engineering can help in engineering systems with better internal quality

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

22 Design perspective: cars

23

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

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

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

27 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. “

28 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. “

29 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 This external quality should be maximized as much as possible Software engineering can help in designing systems with better external quality

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

31 What did all the blind men miss?

32 Can anyone see software?

33 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

34 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

35 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!

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

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

38 Principles of Software Engineering Davis, 1994 Make Quality Number 1 High-quality software is possible 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

39 Principles of Software Engineering Royce, 1998 Base the process on an architecture-first approach Establish an iterative process that addresses risks early in the process Emphasize component-based development to reduce the coding effort Use change management to handle iterative processes Use a demonstration-based approach for intermediate artifacts Have incremental releases

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

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

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

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

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

45 Inherent properties of the essence – Complexity Conformity Changeability Invisibility

46 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

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

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

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

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

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

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

53 Next Time California software fiascos Requirements engineering Complete assigned readings before Thursday


Download ppt "Informatics 43 – October 7, 2014 Lecture 1-1 Emily Navarro."

Similar presentations


Ads by Google