CSE 3310 Davis Spring 23 Final

4.1(7)
studied byStudied by 78 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/52

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

53 Terms

1
New cards
\
**What is TDD (test driven development):**
\
A set of activities used to write code which focuses on quick feedback and always having tests available
2
New cards
**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
3
New cards
**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
4
New cards
The most valuable software test is one that
Identifies a defect/ Fails
5
New cards
Black box testing (definition)
A type of testing based upon the required functionality of the program, without regard for the structure of the code
6
New cards
White box testing (definition)
A type of testing that uses the structure of the code to determine test cases
7
New cards
**A legacy System**
A system developed with technologies that would not be used for new development projects
8
New cards
\
**Refactoring is:**
Done to improve structure of the code (usually done while working on something else)
9
New cards
**Reengineering is:**
Explicit activity performed to reduce future software support costs (could be adding some documentation or restructuring the program)
10
New cards
**Refactoring is essential:**
To slow down the erosion of the system due to the constant change
11
New cards
**An Iteration in Agile Development is a:** (From Lecture)
Sprint
12
New cards
**Requirements are managed in Agile Development:** (From Lecture)
Using story cards
13
New cards
**In Agile development:** (From Lecture)
\
Working code is valued over documentation (might change)
14
New cards
\
**Velocity is a measure of:** (From Lecture)
\
Work completed per sprint
15
New cards
**The overriding reason for using Agile development is to:** (From Lecture)
Increase the speed of development
16
New cards
**The ideal size of an agile development team is:** (From Lecture)
Up to 7
17
New cards
**In agile development, the backlog is:** (From Lecture)
Work that needs to be done
18
New cards
**Automated testing is required in order to effectively** (From Lecture)
Refactor
19
New cards
**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
20
New cards
**Reengineering differs from refactoring:** (From lecture)
Reengineering is an explicit activity for reducing support costs in the future
21
New cards
**Refactoring is essential:** (From Lecture)
\
To slow down the erosion of the system due to constant change
22
New cards
**Program Management Focuses on:** (From Lecture)
Delivering on time and on budget
23
New cards
**The Risk Management Process consists of:** (From Lecture)
Risk Identification, Risk analysis, Risk planning, and Risk Monitoring
24
New cards
**During Risk Analysis:** (From Lecture)
Every risk is categorized by probability of occurrence and impact to cost or schedule
25
New cards
**The opposite of a risk is:** (From Lecture)
An opportunity
26
New cards
**An evenr that has already happened is:** (From Lecture)
Reality  (also possibly *not applicable to the risk management process*)
27
New cards
**Most projects perform risk monitoring:** (From Lecture)
Quarterly
28
New cards
**Reengineering differs from refactoring:** (From Lecture)
In that reengineering is an **explicit activity** for reducing lifecycle support
29
New cards
**Test First Development is:** (From Lecture)
A technique requiring tests to be written before the code
30
New cards
**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
31
New cards
**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
32
New cards
**Agile development is effective:** (From Lecture)
When requirements are not known
33
New cards
**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
34
New cards
**The mmap( ) function:** (From Lecture)
Places the contents of a file into memory so it can be accessed as memory locations by C code
35
New cards
**The purpose of software testing is:** (From Lecture)
maintain development of velocity
36
New cards
**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.
37
New cards
**A unit test:** (From Lecture)
Tests a small amount of code
38
New cards
**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
39
New cards
**Code inspection:** (From Lecture)
is a viable method and works with code that is incomplete
40
New cards
the linux utility hexdump:
can be used on a binary file and a text file and displays the contents of a file
41
New cards
Verfication vs Validation
\
Verification is “are we building the product right”, validation is “are we building the right product” - davis
42
New cards
Software is changed after delivery to:
Adapt to the environment

Remove defects

Add functionality
43
New cards
Testing can be used to prove that there are no defects in a software system
False
44
New cards
An Agile SDLC does all requirements and design up front prior to any implementation
False
45
New cards
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
46
New cards
Agile stresses documentation over code
False
47
New cards
It is cheaper and faster to re-engineer a system than to create a new system
True
48
New cards
Without refactoring, an Agile project will have ‘erosion’ in its architecture and design
True
49
New cards
The labor cost when using Pair Programming is ½ the cost of other methods
False
50
New cards
SIZE OF THE SOFTWARE SYSTEM IS MEASURED IN **SLOC** EFFORT IS MEASURED IN
Engineer Hours
51
New cards
Schedule is in
Calendar Days
52
New cards
Cost is measured in
Dollars
53
New cards
What is the equation used to determine effort?
A x Size^B x M