informatics 43 – april 28, 2015. fun with models fashion student model = ideal
TRANSCRIPT
![Page 1: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/1.jpg)
Informatics 43 – April 28, 2015
![Page 2: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/2.jpg)
Fun with Models
Fashion Student
Model = Ideal
![Page 3: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/3.jpg)
Fun with Models
Fashion Student
Model = Ideal
![Page 4: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/4.jpg)
Fun with Models
Software Process Model Waterfall Prototype Spiral
Architecture Model Layered Client Server Model View Controller
Model = Simplified Representation
![Page 5: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/5.jpg)
Fun with Models
public class Elephant { int weight; // in kg String name; Species species;
public void forage() { . . . . }}
Model = Simplified Representation
![Page 6: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/6.jpg)
How to choose a Software Process Model?
A Software Process Model can be thought of
“prescriptively” – providing rules to follow in the future
or
“descriptively” – serving to describe or characterize what has happened in the past
![Page 7: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/7.jpg)
The Waterfall Software Process Model
![Page 8: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/8.jpg)
The Prototyping Software Process Model
![Page 9: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/9.jpg)
The Prototyping Software Process Model
![Page 10: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/10.jpg)
Incremental Software Process Model
![Page 11: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/11.jpg)
Spiral Model
![Page 12: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/12.jpg)
Spiral Model
• Risk-driven, focus on considering alternatives
• Each loop through the cycle: • Identify a high-risk sub-problem or aspect• Resolve the risk (as far as possible)
• A software project goes through the loop many times
• Every person on the development team does not have to be at the same stage of the loop
![Page 13: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/13.jpg)
Software RisksSome of Boehm’s Top 10
1. Personnel shortfalls
2. Unrealistic schedules and budgets
3. Developing the wrong software functions
4. Continuing stream of software changes
5. Shortfalls in externally furnished components
6. Shortfalls in externally performed tasks
![Page 14: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/14.jpg)
Agile Software Development
We will come back to this topic later in the quarter…
![Page 15: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/15.jpg)
Quality Assurance
What software qualities do we want to assure?• Correctness
![Page 16: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/16.jpg)
Quality Assurance
What software qualities do we want to assure?
Correctness
How?
• Testing• Inspection and review the source code• Proofs, formal methods• Static analysis (a program inspects the source code)
![Page 17: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/17.jpg)
Testing Challenges
Edsger Dijkstra: “Testing can show the presence of bugs, but not their absence.”
True?
Why?
![Page 18: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/18.jpg)
Testing Challenges
Edsger Dijkstra: “Testing can show the presence of bugs, but not their absence.”
True! Because…
Software systems are discrete, not continuous.
Too many input-output pairs (test-cases) to exhaustively verify, so we must take a small sample.
Example: multiplier, inputs two integers, outputs one integer
![Page 19: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/19.jpg)
Testing Challenges
Let’s be practical.
Testing can only select a very small set of inputs.
Our goal should be to choose the best ones.
What are the best 5 test cases for a multiplier?(In other words: what 5 test cases, if they don’t reveal any bugs, will give you the most confidence that the multiplier is working correctly?)
![Page 20: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/20.jpg)
Result of running test cases
Confidence in module being tested
Number of test cases with correct outputs
-- 100%
Sweet spot?
![Page 21: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/21.jpg)
The landscape of “bugs”
Error (in programmer’s mind)
Fault or defect (in code)
Failure (in execution or output)
![Page 22: Informatics 43 – April 28, 2015. Fun with Models Fashion Student Model = Ideal](https://reader033.vdocuments.mx/reader033/viewer/2022042821/56649d365503460f94a0e456/html5/thumbnails/22.jpg)
The landscape of “bugs”
Error (in programmer’s mind)
Fault or defect (in code)
Failure (in execution or output)