Conceptual Questions
1
.
Explain what is wrong with the notion that computer software does not need to evolve over time.
2
.
Explain why nonfunctional requirements are an important part of the requirements for software products.
3
.
Explain why a software engineer needs to have solid knowledge of programming languages.
4
.
What is an iteration in iterative development?
5
.
What is an increment in iterative development?
6
.
What are the key issues addressed by an Agile approach in software engineering?
7
.
What are the drawbacks of the waterfall model?
8
.
What are the benefits of DevOps?
9
.
What is the overall purpose of testing in software engineering?
10
.
What is path coverage?
11
.
What are three ways code coverage can be measured and what does each do?
12
.
What are design patterns? Provide an example of a design pattern.
13
.
What is the benefit of licensing software?
14
.
What type of license could you use if you were okay with sharing your application’s source code and allowing others to use or modify it?
15
.
Can we get to a point in the next twenty years where we will no longer need software engineers or to write code?
16
.
Ethically, what are five things listed in this chapter a software engineer should never do?