Download presentation
Presentation is loading. Please wait.
Published byJoshua Wiggins Modified over 8 years ago
2
Lazy
3
Contemplative
4
Always Using Imagination
5
Most Important Trait
6
Why Do Models Matter? Client has 2 programmers with different styles BobJoe
7
More about Bob & Joe… Bob codes like Joe paid attention & like he did in college uses a proper model
8
Starting the Project Both look at notes from project executive Bob then writes test cases & starts coding Joe determines client’s needs in meetings %Complete BobJoe Work (in $)Rework (in $)Work (in $)Rework (in $) 20%$100,000$0$150,000$0 Total$100,000$0$150,000$0
9
Project Getting Going Bob duplicates code, but with minor tweaks Slows progress & requires expensive reworking Design minimizing code created by Joe Client’s requirements examined; bugs found & fixed %Complete BobJoe Work (in $)Rework (in $)Work (in $)Rework (in $) 20%$100,000$0$150,000$0 40%$100,000$20,000$100,000$10,000 Total$200,000$20,000$250,000$10,000
10
Passing the Halfway Point Bob works from scratch & does not reuse code Lacks plan to incorporate existing code Joe uses design to write comments & outlines Finds majority of errors during this process When possible, merges classes & simplifies design %Complete BobJoe Work (in $)Rework (in $)Work (in $)Rework (in $) 20%$100,000$0$150,000$0 40%$100,000$20,000$100,000$10,000 60%$100,000$20,000$100,000$10,000 Total$300,000$40,000$350,000$20,000
11
Project Nearing Completion Bob’s code is project-specific & cannot be reused Getting concerned as project starts falling behind Joe writes test cases from his system design %Complete BobJoe Work (in $)Rework (in $)Work (in $)Rework (in $) 20%$100,000$0$150,000$0 40%$100,000$20,000$100,000$10,000 60%$100,000$20,000$100,000$10,000 80%$100,000$20,000$100,000$10,000 Total$400,000$60,000$450,000$30,000
12
Final Rush to the Deadline Bob cannot describe system to get extra help Completing system takes lots of all-nighters Joe’s coding is easy with well-defined tests Code could be written by (cheap) trained monkeys Bob Joe
13
Final Rush to the Deadline Bob cannot describe system to get extra help Completing system takes lots of all-nighters Joe’s coding is easy with well-defined tests Code could be written by (cheap) trained monkeys Bob Joe Joe’s Team
14
Final Accounting %Complete BobJoe Work (in $)Rework (in $)Work (in $)Rework (in $) 20%$100,000$0$150,000$0 40%$100,000$20,000$100,000$10,000 60%$100,000$20,000$100,000$10,000 80%$100,000$20,000$100,000$10,000 100%$150,000$20,000$50,000$10,000 Total$550,000$80,000$500,000$40,000
15
What’s The End Result? Bob barely finishes Most goals are met Occasionally crashes Close to original goal Joe is tanned & rested Met stated goals Reliable & robust Follows design perfectly
16
What’s The End Result? Bob barely finishes Most goals are met Occasionally crashes Close to original goal Joe is tanned & rested Meets all needs Reliable & robust Exactly follows design Client fires them both Neither met requirements
17
Models Matter Client valued original concept above all else Joe and Bob both forgot about this main point Joe gets better chair in unemployment line To survive, life cycle models must succeed Nobody records failures or the merely adequate But common saying is “There is no silver bullet” One shared weakness no matter your choices Need to keep your focus on requirements Keep in mind when being lazy
18
Classroom Development Always start from scratch Know all requirements from the start And requirements will not change Coding begins immediately at start Projects are trivial jokes in real-world If lasts 3 weeks, projects “very large” Code cannot be reused Never look at again, anyway
19
Why These Phases Matter
20
Waterfall Model Shows steps project goes through Can compress, but steps never skipped Assumes steps not revisited once done Each step ends with some result Evidence process followed correctly Begin by testing results of previous
21
Moving Target Problem During development, requirements may change Changes may be important, but… …disrupts flow & introduces dependencies Regression faults occur without good testing Error (“fault”) usually in unrelated portion of project Major pain to fix As changes continue, faults will build up Redesign & reimplementation ultimately needed Change is inevitable Your plans must handle gracefully
22
Waterfall Model Is Iterative
23
Heck of a job, Brownie.
24
Incremental Development Waterfall improved by working incrementally Focus on most important piece at the moment Follow waterfall model to develop that piece Focus on new most important piece once complete stepwise refinement Method also called stepwise refinement Best of both worlds is incremental methods goal Amount of duplicative work minimized Improved reaction to change using smaller chunks But handling changes requires good design & plans
25
For Next Lecture Reading for Monday available on Angel Will be discussing software requirements What are they? How do we figure them out? Can they be discussed in our teams? Weekly activity problem #2 due at start of class Discussed at start of lecture, just like today Available on weekly assignment page
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.