CSC302H1 Study Guide - Final Guide: Partition Problem, Unit Testing, Spiral Model

104 views29 pages
School
Course
Professor

Document Summary

Something that is not a spike and is intended for end users released. Can benefit, and is not hindered by proper practices (unit testing, agile, etc). Using software tools (eg eclipse) is not overkill for the project. Modeling can guide your exploration: helps you figure out what questions to ask, reveals key design decisions, help uncover problems. Helps check our understanding: reason about the model and understand its consequences, animate the model to help visualize software behaviour. Helps us communicate: provides useful abstractions that focus the point you want to make. Throw-away modelling: the exercise of modelling is more important than the model itself, time spend perfecting model might be wasted. Abstraction: ignore details to see big picture, beware every abstraction involves choice over what is important. Modularization: harder: choose structures that are stable over time, to localize changes, beware any structure will make some changes easier and others. This is the has-a or whole/part relationship.