describe the four software process activities - ANSWERSspecification - defining what the system
should do.
design and implementation - defining the organisation of the system and implementing the
system.
validation - checking that the system fulfils the customer's requirements.
evolution - changing the system in response to changing customer requirements.
list the stages of the waterfall model - ANSWERSrequirements definition. system and software
design. implementation and unit testing (testing with customer data to see if system meets
requirements). integration and system testing (testing system as a whole). operation and
maintenance.
list a pro and a con of the waterfall model - ANSWERSpro: good for large systems which are
developed at several different sites - the plan driven nature helps coordinate the work. con:
difficult to respond to changing requirements due to inflexible partitioning into stages.
list the stages of the incremental development process - ANSWERSoutline description.
specification, development, validation. initial, intermediate and final versions.
list a pro and a con of incremental development - ANSWERSpro: more rapid delivery and
deployment of useful software to customers. con: the process is not visible, system structure
degrades as new increments are added.
list a pro and a con of integration and configuration (reuse) process - ANSWERSpro: reduced
costs and risks as less software is developed from scratch. con: requirements compromises are
inevitable so system may not meet real needs of users.`
, describe the principles of agile methods - ANSWERScustomer involvement - their role is to
provide and prioritize new requirements and evaluate iterations of the system.
incremental delivery - the system should be delivered in increments so that progress can be
assessed with each version.
people not process - skills of the development team should be recognised and exploited.
embrace change - expect the system requirements to change so design the system to
accommodate.
maintain simplicity - actively work to eliminate complexity from the system.
what is extreme programming - ANSWERSan agile development technique. new versions may
be built several times per day, increments are delivered to customers every two weeks, all tests
must be run for every build.
what is pair programming and what are some benefits - ANSWERSinvolves programmers
working in pairs and developing code together. helps spread knowledge across the team. helps
with reviewing as each line of code is looked at by more than one person. there is collective
ownership.
what is refactoring - ANSWERSa continuous process of going through code and making
improvements to slow down degradation through change. reduces problems from future
change. makes changes easier as code is easier to understand.
what is a scrum? - ANSWERSan agile method that focuses on managing iterative development
rather than specific agile practices
explain how a scrum works. - ANSWERSfirst, a product backlog is created which is the list of
work to be done on the project. some of the project team work with the customer to select the
features and functionality (from the backlog) to be developed during the sprint. the
development team work on these features during the sprint, which lasts 2-4 weeks. at the end
of the sprint, the work is reviewed and presented to stakeholders. the next sprint cycle then
begins.