1 / 26

flic.kr/p/7u4Xr2

http://flic.kr/p/7u4Xr2. Software Engineering Process. 4 SWEBOK KAs covered so far. Software Requirements Software Design Software Construction Software Testing Software Maintenance Software Configuration Management Software Engineering Management Software Engineering Process

kwaters
Télécharger la présentation

flic.kr/p/7u4Xr2

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. http://flic.kr/p/7u4Xr2 Software Engineering Process

  2. 4 SWEBOK KAs covered so far • Software Requirements • Software Design • Software Construction • Software Testing • Software Maintenance • Software Configuration Management • Software Engineering Management • Software Engineering Process • Software Engineering Models and Methods • Software Quality • Software Engineering Professional Practice • Software Engineering Economics • Computing Foundations • Mathematical Foundations • Engineering Foundations Today’s topic

  3. Engineering software is a big job http://flic.kr/p/7GereG http://flic.kr/p/5w9rXP • Variety of tasks: • Requirements • Design • Implementation • Verification (testing) • Maintenance

  4. Practical issue:What order should tasks be done in? That is, what processto use?

  5. The old way: Waterfall (sequential) model Requirements Design Implementation Verification Maintenance http://en.wikipedia.org/wiki/File:Waterfall_model_%281%29.svg

  6. Imagine this scenario Requirements 6 months Design 6 months Implementation 3 months What could go wrong? Verification 6 months Release! http://en.wikipedia.org/wiki/File:Waterfall_model_%281%29.svg

  7. Imagine this scenario Requirements 6 months Design 6 months Implementation I don’t like it… 3 months Verification 6 months Release! http://en.wikipedia.org/wiki/File:Waterfall_model_%281%29.svg

  8. Using Waterfall turns out to be a poor practice • High failure rates • Low productivity • High defect rates Early scheduleand estimatesoff by up to 400% 45% of featuresin requirementsnever used

  9. Why Waterfall doesn’t work • False assumption: Specifications … • … are predictable and stable • … can be correctly defined at the start • … have low change rates • Actual stats: • 25% of requirements changed • 35% to 50% changed in large projects

  10. Waterfall is a “defined” process control model http://flic.kr/p/9xmccb (think mass manufacturing) Software devel. needs an “empirical” model (think new product development) http://flic.kr/p/edV9JR

  11. Feedback Basis of empirical process model… Adaptation

  12. Iterative Development Process Analysis Requirements Design InitialPlanning Implementation Planning Testing Evaluation Deployment

  13. Iterative Development Process Analysis Requirements Design InitialPlanning Implementation Planning Where are feedback & adaptation? Testing Evaluation Deployment

  14. Iterative Development Process Analysis Requirements Design InitialPlanning Implementation Planning Adaptation Feedback Testing Evaluation Deployment

  15. Iterative and incremental development also called iterative and evolutionary Larman Figure 2.1

  16. How long should iterations be? • Short is good • 2 to 6 weeks • 1 is too short to get meaningful feedback • Long iterations subvert the core motivation http://flic.kr/p/368zW7

  17. Iterative and incremental development addresses the “yes…but” problem Yes, that’s what I asked for, but now that I try it, what I really need is something slightly different.

  18. System converges over time Unstablerequirements Requirementsmore stable Larman Figure 2.2

  19. More benefitsof iterative development • Fewer defects • Greater productivity • Early mitigation of risk • Early visible progress • Meet real needs of stakeholders • No “analysis paralysis” • Iterative process improvement http://flic.kr/p/7fD777

  20. Iterative and incremental development is a broad approach But how to operationalize? To help with that, there aremore specific methods and practices In particular, there are agile methods

  21. What is an agile method? values,principles, practices Agile values, principles beget Agile method Where does it come from? practices principles values more general more specific

  22. Agile Values From the Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

  23. Can you think of a principleor practicethat might be based on the agile values? Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

  24. Examples of agile methods and their practices • Scrum • Common project workroom • Self-organizing teams • Daily scrum • … • Extreme programming (XP) • Pair programming • Test-driven development • Planning game • … http://flic.kr/p/8Mbo3N

  25. A word about agile modeling(quoting Larman) Experienced analysts and modelers know thesecret of modeling: Thus, we favor hand-drawn diagrams over typeset ones The purpose of modeling (sketching UML, …) is primarily to understand, not to document. http://flic.kr/p/8HDojD

  26. You know you’re doing agilewrong when you… • Define most requirements before starting design or implementation • Spend days/weeks modeling before programming • Believe that iterations should be 3 months • Think you need to create many formal documents • Try to plan project in detail from start to finish http://flic.kr/p/6FJZDY

More Related