Week 1 - Best practices Flashcards

1
Q

What are the 6 best practices of software engineering?

A
  1. Develop software iteratively
  2. Manage requirements
  3. Use component based architectures
  4. Visually Model Software
  5. Verify Software Quality
  6. Control Changes to Software
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Why is it better to develop software iteratively?

A
  1. Reduces risk (risk is contained within the first few iterations rather than throughout the entire project)
  2. Continuous testing and development.
  3. Risks are resolved before making large investments.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Why is it important to manage requirements?

A
  1. They are dynamic, should be organized to maintain mutual understanding between client and team.
  2. Catch requirement errors
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What does it meant to use a component architecture?

A

The code should be modular: Maintainability, reusability, division of work, encapsulation, incremental additions.

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

Why is it important to visually model software?

A

Improves ability to manage software complexity.

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

How and why do we verify software quality?

A
  1. Continuous testing.
  2. Software problems are costly to repair after deployment.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What does it mean to control changes to software and why?

A
  1. Organizing parallel work by assigning each subsystem to a team.
  2. Organizes parallel development.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly