Software Engineering 9 - Sommerville - Chapter 3

Ace your homework & exams now with Quizwiz!

Large Systems

Large systems are usually collections of separate communicating systems, each developed by a separate team. Many of the system requirements are concerned with interaction and so aren't very flexible.

Brownfield systems

Large systems.

5 principles of agile methods

Customer involvement. Incremental delivery. People, not process. Embrace change. Maintain simplicity.

Extreme programming practices

Incremental planning. Small releases. Simple design. Test-first development. Refactoring. Pair programming. Collective ownership. Continuous integration. Sustainable pace. On-site customer.

Plan driven or agile?

The decision whether to use an agile or plan-driven approach to development should depend on the type of software being developed, the capabilities of the team, and the culture of the company. Most large systems will probably use elements from both.

Refactoring

The programming team look for possible software improvements and make these improvements even though there is no immediate need for it. This improves the understandability of the software and so reduces the need for documentation. Changes are easier to make because the code is well structured and clear. However, some changes require architecture refactoring and this is much more expensive.

Test-first development

Writing tests before code clarifies the requirements to be implemented.


Related study sets

19. C4 MP-100 - API Legacy Plus Review

View Set

Med-Surg Endocrine - Progression Exam

View Set

common ambient air pollutants (apes)

View Set

Chapter 3 - Cost-Volume-Profit Analysis

View Set