Week 1 - Best practices Flashcards
1
Q
What are the 6 best practices of software engineering?
A
- Develop software iteratively
- Manage requirements
- Use component based architectures
- Visually Model Software
- Verify Software Quality
- Control Changes to Software
2
Q
Why is it better to develop software iteratively?
A
- Reduces risk (risk is contained within the first few iterations rather than throughout the entire project)
- Continuous testing and development.
- Risks are resolved before making large investments.
3
Q
Why is it important to manage requirements?
A
- They are dynamic, should be organized to maintain mutual understanding between client and team.
- Catch requirement errors
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.
5
Q
Why is it important to visually model software?
A
Improves ability to manage software complexity.
6
Q
How and why do we verify software quality?
A
- Continuous testing.
- Software problems are costly to repair after deployment.
7
Q
What does it mean to control changes to software and why?
A
- Organizing parallel work by assigning each subsystem to a team.
- Organizes parallel development.