Chapter 3 Flashcards
Predictive software development
has big advantages
encourages up-front design
Preditctive software development nicknames
BDUF (Big Design Up Front)
Because that’s what it encourages
Iterative model
You build the final application incrementally
Start with minimally viable product and then add pieces to it.
Software engineering goals at its most fundamental
producing useful applications
Iterative software development modesl
Unified Process and iterated waterfall
Second goal of software engineering
producing software quickly
Rapid Application Development (RAD)
These models incorporate some of the best features of the modesl described in preceding lessons plus new features that get results to the end user quickly
Pushed devs to generate as much high-qulaity code as possible and as quicly as possibly
Agile method
allow a projects goals to change over time to track changing customer needs
Extreme programming
uses pair programming to ensure that every piece of code goes through a kind of code review
Test driven development model
forces programmers to write tests for their code
Commit to the development method
Unless everyone commits, you’ll have trouble getting success from the model
predictive development model
Predict in advance what needs to be done and then you go out and do it
– use requirements to design the system and
—- > use the system design to write the code
- test and deploy
Problems with predictive model
Its hard to predict exactly wht a softwarae application needs to do and how you should build it ahead of time
– customer needs change
– if you need to learn programing technique on the fly could lengthen timeframe
Adaptive development model
Allows you to change projects goals during development
You can periodically reevaluate and change your direction
Adaptive model analogy
With each new development in the project you reevaluate where you are and decide if you want to keep going the same direction