SOLUTIONS RATED A+
✔✔Change - ✔✔Inevitable:
new and changed sys reqs
new technologies
changing platforms
change = rework --> cost = rework + implementation
✔✔Reducing Rework Costs - ✔✔Change anticipation - sw process includes activities
that can anticipate possible changes before rework req
Change tolerance - process designed so changes can be accommodated at lower cost
using incremental dev if possible
✔✔Coping with Changing Reqs - ✔✔System Prototyping
Incremental Delivery
✔✔System Prototyping - ✔✔a version of the system or part of the system is dev quickly
to check customer's reqs and feasibility of design decisions
supports change anticipation
✔✔Incremental Delivery - ✔✔system increments are delivered to the customer for
comment and experimentation
supports change avoidance and change tolerance
Delivery broken into increments
User reqs prioritized in early increments
Reqs frozen once an increment is started - can evolve for later increments
For use by end-users
More realistic evaluation about practical use of sw
Diff to implement for replacement systems - will have less functionality than original
✔✔Software Prototyping: Prototype - ✔✔an initial version of system used to
demonstrate concepts and try out design options
can be used in:
reqs engineering process => reqs elicitation and validation
explore options and develop UI design
back-to-back tests
✔✔Prototyping Benefits - ✔✔Improved system usability
Closer match to users' real needs
Improved design quality
Improved maintainability
Reduced development effort
✔✔Process of Prototype Development - ✔✔
, ✔✔Prototype Development - ✔✔based on rapid prototyping languages or tools
may leave out functionality:
not well-understood areas
error checking and recovery may not be included in prototype
functional > nonfunctional: reliability + security
✔✔Throw-away Prototypes - ✔✔Discarded after dev - not a good basis for production
system
May be impossible to tune system to nonfunctional reqs
Normally undocumented
Structure usually degrades through rapid change
Will not meet org's quality standards
✔✔Incremental Dev - ✔✔Dev system in increments and evaluate each before
proceeding
Normal in agile process
Evaluation - user/customer proxy
✔✔Process Improvement - ✔✔Enhance sw quality
Reduce costs or accelerate dev processes
= understanding existing processes + changing these process to increase product
quality +/or reduce costs and dev time
✔✔Process Improvement Activities - ✔✔Process Measurement
Process Analysis
Process Change
✔✔Process Measurement - ✔✔measure 1/+ attributes of sw process/product = baseline
to decide if process improvements have been effective
✔✔Process Analysis - ✔✔current process assessed: identify weaknesses, bottlenecks
develop process models = process maps describe process
✔✔Process Change - ✔✔proposed to address identified process weaknesses
introduced -> resume cycle to collect data about changes' effectiveness --> repeat (back
to process measurement)
✔✔Rapid SW Dev - ✔✔Often most imp req for sw systems
businesses in fast-changing req - no stable set of reqs
sw must evolve quickl to reflect changing business needs
Plan-driven essential but does not meet business needs
Agile - 1990s - reduce delivery time for working sw systems
✔✔Plan-driven Dev - ✔✔separate dev stages w/ outputs planned in advance