Содержание
- 2. Course Information Textbooks (see more on the course website) Bruegge & Dutoit: Object-Oriented Software Engineering: Using
- 3. Introduction: Software is Complex Complex ≠ complicated Complex = composed of many simple parts related to
- 4. Complexity Example: Scheduling Fence Construction Tasks Setting posts [ 3 time units ] Cutting wood [
- 5. More Complexity Suppose today is Tuesday, November 29 What day will be on January 3? [
- 6. The Frog in Boiling Water Small problems tolerate complacency—lack of immediate penalty leads to inaction Negative
- 7. The Role of Software Engg. (1) Customer Software Engineering Programmer A bridge from customer needs to
- 8. The Role of Software Engg. (2)
- 9. Example: ATM Machine Understanding the money-machine problem:
- 10. Problem-solving Strategy Divide-and-conquer: Identify logical parts of the system that each solves a part of the
- 11. How ATM Machine Might Work
- 12. Cartoon Strip: How ATM Machine Works
- 13. Software Engineering Blueprints Specifying software problems and solutions is like cartoon strip writing Unfortunately, most of
- 14. Second Law of Software Engineering Software should be written for people first ( Computers run software,
- 15. Software Development Methods Method = work strategy The Feynman Problem-Solving Algorithm: (i) Write down the problem
- 16. Waterfall Method Each activity confined to its “phase”. Unidirectional, no way back; finish this phase before
- 17. UML – Language of Symbols UML = Unified Modeling Language Online information: http://www.uml.org
- 18. How Much Diagramming? Use informal, ad-hoc, hand-drawn, scruffy diagrams during early stages and within the development
- 19. Understanding the Problem Domain System to be developed Actors Agents external to the system that interact
- 20. ATM: Gallery of Players Actors (Easy to identify because they are visible!)
- 21. Gallery of Workers + Tools Concepts (Hard to identify because they are invisible/imaginary!)
- 22. Use Case: Withdraw Cash
- 23. How ATM Machine Works (2) Domain Model (2) Alternative solution
- 24. How ATM Machine Works (3) Domain Model (3) Alternative solution Which solution is the best or
- 25. Rube Goldberg Design Garage door opener
- 26. Actual Design
- 27. Feasibility & Quality of Designs Judging feasibility or quality of a design requires great deal of
- 28. Software Measurement What to measure? Project (developer’s work), for budgeting and scheduling Product, for quality assessment
- 29. Formal hedge pruning
- 30. Work Estimation Strategy Make initial guess for a little part of the work Do a little
- 31. Sizing the Problem (1) Size( ③ ) = 10 Size( ② ) = 7 Size( ①
- 32. Sizing the Problem (2) Step 3: Estimate the size of the total work Total size =
- 33. Sizing the Problem (3) Assumptions: Relative size estimates are accurate That’s why parts should be small
- 34. Exponential Cost of Estimation Improving accuracy of estimation beyond a certain point requires huge cost and
- 35. Estimation Error Over Time Time Estimation error Completion Start Waterfall method cone of uncertainty starts high
- 36. Estimation Error Over Time Time Estimation error Project Completion Start Agile method cone of uncertainty starts
- 37. Agile Project Effort Estimation
- 38. Measuring Quality of Work
- 39. Concept Maps SENTENCE: “My friend is coding a new program” translated into propositions Useful tool for
- 40. Case Study: Home Access Control Objective: Design an electronic system for: Home access control Locks and
- 41. Case Study – More Details
- 42. Know Your Problem Mortise Lock Parts
- 43. Concept Map for Home Access Control
- 45. Скачать презентацию