1 / 82

Informatics 43 Introduction to Software Engineering

Informatics 43 Introduction to Software Engineering. Lecture 5 Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited. Reminder: From programming to software engineering. People who else would do the work?

vivek
Download Presentation

Informatics 43 Introduction to Software Engineering

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 Engineering Lecture 5 Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.

  2. Reminder: From programming to 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

  3. Reminder: Processes • Essential to achieve a quality product • Scarce resource • quality • suitability • cost • Many different kinds of processes • bug tracking • change approval • quality assurance Instructor Reminder: Play first “process” video: http://www.pomodorotechnique.com

  4. High Cost

  5. Cost of Change Progressively Higher

  6. More Reminders • Essential qualities • Complexity • Conformity • Changeability • Intangibility • Potentially drastic or disastrous consequences

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

  8. Processes • Elements • Activities (“Phases”) • Artifacts • Can include process specifications • 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?)

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

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

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

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

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

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

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

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

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

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

  19. So… • What is it good for? (strengths) • What is it bad for? (weaknesses) • What’s the (big) deal?

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

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

  22. Waterfall • Has clear benefits/strengths • “Forced” discipline • Stepwise progression through well-defined phases • Documentation-driven at each phase • Each phase ends with Testing/Quality Assurance • Validation, verification, and the ability to correct • Feedback loops • During product development • Post-delivery maintenance • So… • What seems to be the problem(s)?

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

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

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

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

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

  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. So… • What is it good for? (strengths) • What is it bad for? (weaknesses) • What’s the (big) deal? Instructor Reminder:Play second Process video: Nordstrom Innovation Lab “sunglasses”

  45. Rapid Prototyping Changed requirements Implementation phase Specification phase Design phase Verify Verify Verify Test Operations mode Retirement Build and discardsimple prototype Verify Integration phase Development Maintenance Test

  46. Incremental Requirements phase Specification phase Verify Verify Operations mode Retirement Architectural design Verify FOR EACH BUILD Perform detailed design, implementation, and integration. Test. Deliver to client. Development Maintenance

  47. Synchronize-and-Stabilize • System developed by multiple teams • Teams work in parallel • On individual application modules • Frequently sync code with other teams • Frequently test/debug/stabilize code throughout development • Easier to accommodate change at any point in the process

  48. Synchronize-and-Stabilize . . . . . . . . . Specifications Design Implementation, Integration Deliver to client (version 1) Specifications Design Implementation, Integration Deliver to client (version 2) Specifications Design Implementation, Integration Deliver to client (version 3) Specifications Design Implementation, Integration Deliver to client (version n) Specification team Design team Implementation/integration team

  49. Synchronize-and-Stabilize . . . . . . . . . Specifications Design Implementation, Integration Deliver to client (version 1) Specifications Design Implementation, Integration Deliver to client (version 2) Specifications Design Implementation, Integration Deliver to client (version 3) Specifications Design Implementation, Integration Deliver to client (version n) Specification team Design team Implementation/integration team

  50. Synchronize-and-Stabilize . . . . . . . . . Specifications Design Implementation, Integration Deliver to client (version 1) Specifications Design Implementation, Integration Deliver to client (version 2) Specifications Design Implementation, Integration Deliver to client (version 3) Specifications Design Implementation, Integration Deliver to client (version n) Specification team Design team Implementation/integration team

More Related