Extensibility

Extensibility

In software engineering, extensibility (sometimes confused with forward compatibility) is a system design principle where the implementation takes into consideration future growth. It is a systemic measure of the ability to extend a system and the level of effort required to implement the extension. Extensions can be through the addition of new functionality or through modification of existing functionality. The central theme is to provide for change while minimizing impact to existing system functions.

In systems architecture, extensibility means the system is designed to include hooks and mechanisms for expanding/enhancing the system with new capabilities without having to make major changes to the system infrastructure. A good architecture provides the design principles to ensure this—a roadmap for that portion of the road yet to be built. Note that this usually means that capabilities and mechanisms must be built into the final delivery which will not be used in that delivery and, indeed, may never be used. These excess capabilities are "not frills," but are necessary for maintainability and for avoiding early obsolescence.

Extensibility can also mean that a software system's behavior is modifiable at runtime, without recompiling or changing the original source code. For example, a software system may have a public Application Programming Interface that allows its behavior to be extended or modified by people who don't have access to the original source code.

Although usually applied to engineered systems involving software, it can be applied to any type of engineering. Houses can be built with future extensions in mind. The Prince Edward Viaduct located in Toronto, Ontario, Canada was built to accommodate a future subway line.

Though the application to software is relatively new, the word has been a rare but valid part of English for a long time. The "Oxford English Dictionary" cites examples going back to the 17th century.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Extensibility — Ex*ten si*bil i*ty, n. The quality of being extensible; the capacity of being extended; as, the extensibility of a fiber, or of a plate of metal. [1913 Webster] …   The Collaborative International Dictionary of English

  • extensibility — ex·ten·si·bil·i·ty ik .sten(t) sə bil ət ē n, pl ties the capability of being stretched <extensibility of muscle> ex·ten·si·ble ik sten(t) sə bəl adj …   Medical dictionary

  • extensibility — extend ► VERB 1) make larger in area. 2) cause to last longer. 3) occupy a specified area or continue for a specified distance. 4) hold out (one s hand or another part of one s body) towards someone. 5) offer; make available. DERIVATIVES… …   English terms dictionary

  • Extensibility pattern — In computer programming, the extensibility pattern is a design pattern that provides a framework for straightforward addition of functionality to a system at a later date.Extensibility is often desired when an application must be able to support… …   Wikipedia

  • extensibility — noun see extensible …   New Collegiate Dictionary

  • extensibility — See extensible. * * * …   Universalium

  • extensibility — noun a) The capability of being extended b) A quality of design that takes possible future advances into consideration and attempts to accommodate them …   Wiktionary

  • extensibility — ex·ten·si·bil·i·ty || ɪk‚stensÉ™ bɪlÉ™tɪ n. capability of being extended, capability of being stretched …   English contemporary dictionary

  • extensibility — ex·ten·si·bil·i·ty …   English syllables

  • extensibility — ikˌsten(t)səˈbiləd.ē, (ˌ)ekˌ , lətē, i noun ( es) : capability of being extended; specifically : the extent to which something can be stretched without breaking …   Useful english dictionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”