1 / 66

Informatics 43 Introduction to Software Engineering Lecture 8-1

This lecture provides an introduction to software process models, including build-and-fix, waterfall, rapid prototyping, and incremental models. It emphasizes the importance of people, processes, and tools in software engineering and highlights the essential qualities and potential consequences of software development. The lecture also discusses the strengths and weaknesses of build-and-fix and waterfall models.

coryk
Télécharger la présentation

Informatics 43 Introduction to Software Engineering Lecture 8-1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Informatics 43Introduction to Software EngineeringLecture 8-1 November 17, 2015 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.

  2. Today’s lecture • Reminders • Software Process Models • Build-and-fix • Waterfall • Rapid Prototyping • Incremental • Homework 3

  3. Today’s lecture • Reminders • Software Process Models • Build-and-fix • Waterfall • Rapid Prototyping • Incremental • Homework 3

  4. Reminder: Essential Ingredients of Software Engineering • People • who else would do the work? • range from novice to very experienced • Processes • to organize and manage the efforts of individuals • range from informal to very formal • Tools • to support the people and the processes • range from simple to very advanced

  5. Reminder: Processes • Essential to achieve a quality product • Scarce resource • quality • suitability • cost • Many different kinds of processes • bug tracking • change approval • quality assurance • software life cycle

  6. More Reminders • Essential qualities • Complexity • Conformity • Changeability • Intangibility • Potentially drastic or disastrous consequences Software engineering is hard, and we need processes to help!

  7. Today’s lecture • Reminders • Software Process Models • Build-and-fix • Waterfall • Rapid Prototyping • Incremental • Homework 3

  8. Processes as a Remedy • Software is engineered via a defined process • Cover all steps from initial idea and requirements to delivery, maintenance, and final retirement • Make sure we do the right things/we do things right • Make sure we do not forget to do anything • Different processes for different kinds of software • Not a silver bullet [Brooks “No Silver Bullet”] • Software is still intrinsically difficult to deal with • Processes help, but cannot guarantee anything Remember: People + Processes + Tools  Product

  9. Processes • Elements • Activities (“Phases”) • Artifacts • Requirements document, design document, code, test cases… • Resources • People (their time and their cost) • Tools (their time and their cost) • Relationships between the elements • Precedence, requires, provides, refines to, … • Constraints • Time • Cost • Qualities (repeatable process?)

  10. Fun with Models Fashion Student

  11. Fun with Models Fashion Student Model = Ideal

  12. Fun with Models Model = Simplified Representation Software Process Model Waterfall Prototype Spiral Architecture Model Layered Client Server Model View Controller

  13. Fun with Models Model = Simplified Representation public class Elephant { int weight; // in kg String name; Species species; public void forage() { . . . . } }

  14. What is Software Process Model for? • “Prescriptive” – enforcing rules • “Descriptive” – serving to describe or characterize

  15. Software Life Cycle Models • Build-and-fix • Waterfall • Rapid prototyping • Incremental • Spiral • Rational Unified Process (RUP) • Open Source Software (OSS) • Extreme Programming (XP) • Agile A software life cycle model is a high-level process

  16. Today’s Lecture • Reminders • Software Process Models • Build-and-fix • Waterfall • Rapid Prototyping • Incremental • Homework 3

  17. Build-and-Fix Operations mode Retirement Build first version Modify until client is satisfied Development Maintenance

  18. Build-and-Fix Operations mode Retirement Build first version Modify until client is satisfied Development Maintenance

  19. Build-and-Fix Build first version Modify until client is satisfied Operations mode Retirement Development Maintenance

  20. Build-and-Fix Build first version Modify until client is satisfied Operations mode Retirement Development Maintenance

  21. Build-and-Fix Build first version Modify until client is satisfied Operations mode Retirement Development Maintenance

  22. Build-and-Fix Build first version Modify until client is satisfied Operations mode Retirement Development Maintenance

  23. So… • What is it good for? (strengths) • What is it bad for? (weaknesses)

  24. So… • What is it good for? (strengths) • Small programs that do not require much maintenance • What is it bad for? (weaknesses)

  25. So… • What is it good for? (strengths) • Small programs that do not require much maintenance • What is it bad for? (weaknesses) • Any nontrivial project

  26. Today’s Lecture • Reminders • Software Process Models • Build-and-fix • Waterfall • Rapid Prototyping • Incremental • Homework 3

  27. Waterfall • First documented by Royce in 1970 (!) • Has withstood the test of time • Still being used worldwide… • But not without problems…

  28. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  29. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  30. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  31. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  32. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  33. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  34. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  35. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  36. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  37. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  38. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  39. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  40. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  41. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  42. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  43. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  44. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  45. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  46. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  47. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  48. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  49. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

  50. Waterfall Requirements phase Changed requirements Verify Verify Specification phase Verify Design phase Verify Implementation phase Test Integration phase Development Maintenance Test Operations mode Retirement

More Related