Looks like no one added any tags here yet for you.
What is TDD (test driven development):
A set of activities used to write code which focuses on quick feedback and always having tests available
The 3 reasons to change software in maintenance:
Fault Repair: the dev team messed up somewhere and the issue has presented itself
Environmental Adaptation: something outside of the software changed and the program must adapt
Added Requirements: the customer wants to modify the system or add new functionality
Where are agile methods applicable?
When making software of small or medium size
Custom software where the customer is going to be very involved in development and there are few rules and restrictions on the software
The most valuable software test is one that
Identifies a defect/ Fails
Black box testing (definition)
A type of testing based upon the required functionality of the program, without regard for the structure of the code
White box testing (definition)
A type of testing that uses the structure of the code to determine test cases
A legacy System
A system developed with technologies that would not be used for new development projects
Refactoring is:
Done to improve structure of the code (usually done while working on something else)
Reengineering is:
Explicit activity performed to reduce future software support costs (could be adding some documentation or restructuring the program)
Refactoring is essential:
To slow down the erosion of the system due to the constant change
An Iteration in Agile Development is a: (From Lecture)
Sprint
Requirements are managed in Agile Development: (From Lecture)
Using story cards
In Agile development: (From Lecture)
Working code is valued over documentation (might change)
Velocity is a measure of: (From Lecture)
Work completed per sprint
The overriding reason for using Agile development is to: (From Lecture)
Increase the speed of development
The ideal size of an agile development team is: (From Lecture)
Up to 7
In agile development, the backlog is: (From Lecture)
Work that needs to be done
Automated testing is required in order to effectively (From Lecture)
Refactor
The role of the customer in agile development is to: (From Lecture)
Identify requirements
Prioritize requirements
Provide immediate feedback on the problem domain to the software development
Access the created software for correctness and usability
Reengineering differs from refactoring: (From lecture)
Reengineering is an explicit activity for reducing support costs in the future
Refactoring is essential: (From Lecture)
To slow down the erosion of the system due to constant change
Program Management Focuses on: (From Lecture)
Delivering on time and on budget
The Risk Management Process consists of: (From Lecture)
Risk Identification, Risk analysis, Risk planning, and Risk Monitoring
During Risk Analysis: (From Lecture)
Every risk is categorized by probability of occurrence and impact to cost or schedule
The opposite of a risk is: (From Lecture)
An opportunity
An evenr that has already happened is: (From Lecture)
Reality (also possibly not applicable to the risk management process)
Most projects perform risk monitoring: (From Lecture)
Quarterly
Reengineering differs from refactoring: (From Lecture)
In that reengineering is an explicit activity for reducing lifecycle support
Test First Development is: (From Lecture)
A technique requiring tests to be written before the code
Pair Programming: (From Lecture)
Is where two developers work closely together on the same program
Is a valuable technique used to onboard new software developers
An agile Development process is applicable for: (From Lecture)
Product development where a software company is developing a sized product for sale
Customer system development within an org. Where there is a clear commitment from the customer to become involved in the development process and where there are few external rules and regulations that affect software
Agile development is effective: (From Lecture)
When requirements are not known
Merging code: (From Lecture)
Is required when developing software in a team
Identifies misunderstanding and disconnects in the design
Can be just as difficult as writing the code to be merged
The mmap( ) function: (From Lecture)
Places the contents of a file into memory so it can be accessed as memory locations by C code
The purpose of software testing is: (From Lecture)
maintain development of velocity
The system is in maintenance mode. It has very little defects and adding additional functionality is straightforward and efficient. The system should: (From Lecture)
Continue to be maintained using the current process.
A unit test: (From Lecture)
Tests a small amount of code
During reengineering of a system: (From Lecture)
Dealing with the data can be more difficult than the code
Knowledge of the legacy system is essential
Code inspection: (From Lecture)
is a viable method and works with code that is incomplete
the linux utility hexdump:
can be used on a binary file and a text file and displays the contents of a file
Verfication vs Validation
Verification is “are we building the product right”, validation is “are we building the right product” - davis
Software is changed after delivery to:
Adapt to the environment
Remove defects
Add functionality
Testing can be used to prove that there are no defects in a software system
False
An Agile SDLC does all requirements and design up front prior to any implementation
False
Using a parametric software effort and schedule estimating process, the schedule is determined by dividing the number of hours of effort by the number of engineer days available
False
Agile stresses documentation over code
False
It is cheaper and faster to re-engineer a system than to create a new system
True
Without refactoring, an Agile project will have ‘erosion’ in its architecture and design
True
The labor cost when using Pair Programming is ½ the cost of other methods
False
SIZE OF THE SOFTWARE SYSTEM IS MEASURED IN SLOC EFFORT IS MEASURED IN
Engineer Hours
Schedule is in
Calendar Days
Cost is measured in
Dollars
What is the equation used to determine effort?
A x Size^B x M