liveBook · Manning

Sustainable application

As explained in Object-Oriented Software Design in C++

A sustainable application is software that remains useful, maintainable, and deployable throughout its operational lifespan.

A sustainable application remains useful, reliable, flexible, maintainable, and deployable throughout a long operational lifespan. It continues serving customers while maintenance fixes bugs and adds features as requirements evolve. section 1.0 section 1.3

Good design makes sustainability practical by helping an application:

  • Meet requirements and produce results users expect. section 1.3
  • Pass tests, reduce bugs, and avoid hidden runtime performance problems. section 1.3
  • Accept new features and changing requirements without disproportionate complexity. section 1.3
  • Support collaboration and recovery from poor design decisions. section 1.3

A maintained application

A deployed application reaches a minimum viable product that passes tests and meets essential requirements. Later releases fix bugs and add features without making the software unnecessarily complex. section 1.3

Sustainability develops through requirements analysis, iterative design, object-oriented principles, and patterns for recurring architecture problems; it is an evolving practice rather than a single shortcut. section 1.0

How Object-Oriented Software Design in C++ covers it

How deep it goes
Defines lifespan and benefits, then sketches iterative design practices without showing detailed implementation techniques.
Examples
Uses deployment, maintenance releases, evolving requirements, testing, and minimum viable products as concrete lifecycle examples.
What it assumes
Assumes beginning-to-intermediate C++ programming, basic data structures, algorithms, object-oriented programming, and multi-file development.
What you can do after
Apply object-oriented design principles and design patterns to develop applications that meet requirements and evolve systematically.
How it connects
Connects sustainable applications with software design, requirements, object-oriented design principles, design patterns, testing, and minimum viable products.

Also explained in

Compare how 2 books explain sustainable application →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Object-Oriented Software Design in C++. The section links point to the parts of the book it draws on.