Hoofdstuk 1 Flashcards

1
Q

What is your preferred definition of Software Engineering? Why?

A

Software engineering is a multi-person construction of multi-version programs.

-> others were incomplete/incorrect

“deliver on time within budget”
“se is different from other engineering principles”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Why do we choose Correctness & Traceability as evaluation criteria? Can you imagine some others?

A

Correctness: Build right product / product right.
Traceability: Deduce what things will be affected by change.
They ensure quality.
Others: re-usability, readability, cost, completeness, …

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Why is Maintenance a strange word for what is done during the activity?

A

Maybe “update” is a better word for it because what we are doing is changing a system after its been deployed. Meaning we are repairing defects and adapting to new requirements. While maintenance sounds more like we are putting a band aid somewhere to preserve a certain condition or state. We do not want to preserve a outdated state, we want to update to match the new requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Why is risk analysis necessary during incremental development?

A

To make the go, no-go decision.
-> to avoid unexpected set-backs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How can you validate that an analysis model captures users’ real needs

A

Exploratory prototype: UI prototype – validate user requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

When does analysis stop and design start?

A

It Never actually stops. Design starts at the moment that enough requirements have been analyzed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

When can implementation start?

A

After the design has finished. Sometimes it can happen during but since we do not want to build something and later have to modify, and modify, and modify it, it is better to wait until there is a clear view on how we are going to build certain requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Can you compare the Unified Process and the Spiral Model?

A

Unified process: time important, need to know number of iterations + phases + disciplines, global view
Spiral Model: shows steps to take for each iteration, involves risks

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Can you explain the values behind the Agile Manifesto?

A

The Agile Manifesto focuses on individuals and interactions, on working software, on adapting to change rather than following a plan or comprehensive documentation. They do this because they wanted to renounce from heavyweight, documentation driven software development processes. They are about delivering good products to customers by operating in an environment that does more than talk about “people as our most important asset” but actually acts as if people were the most important.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Can you identify some synergies between the techniques used during extreme programming?

A

◦ I think there is a synergy between all the elements. Take a look at programmer welfare and coding. The better the programmer is feeling, the better or faster he will code. If the programmer does not feel good, his code will slack.
◦ Continuous process and testing. The more you test, the more progress there will be. Plus tests are always needed for continuous integration.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Can you explain how the different steps in the scrum process create a positive feedback loop?

A

◦ With every sprint there is a sprint review and a sprint retrospective.
◦ The purpose of the sprint review is to inspect the outcome of the sprint and determine future adaptions. We review what was accomplished and what has changed. Based on this information we collaborate on what to do next.
◦ The sprint retrospective is to inspect how the last sprint went with regards to individuals, interactions, processes, tools and their Definition of Done. This information can be used to identify the most helpful changes to improve the teams effectiveness.
◦ These two steps therefor are the most important to create this positive feedback loop.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How does scrum reduce risk?

A

Because the production loop is so much shorter (2 to 4 weeks), feedback is given much earlier and risks or failures can be detected sooner than in a non-scrum environment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Is it possible to apply Agile Principles with the Unified process?

A

Yes, it seems possible to mix both up as the valued things seem to allow the various iterations.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Did the UML succeed in becoming the Univerisal Modeling Language? Motivate your answer.

A

Yes, uniform notation; complete life-cycle support; adaptable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly