All Topics  
Extensibility

 

   Email Print
   Bookmark   Link






 

Extensibility



 
 
In software engineering
Software engineering

Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches....
, extensibility (sometimes confused with forward compatibility
Forward compatibility

Forward compatibility is the ability of a system to gracefully accept input intended for later versions of itself.Although forward compatibility and extensibility are similar, they are not the same....
) 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
System

System is a set of interacting or interdependent entities, real or abstract, forming an integrated whole.The concept of an "integrated whole" can also be stated in terms of a system embodying a set of relationships which are differentiated from relationships of the set to other elements, and from relationships between an element of the se...
 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.

Although forward compatibility and extensibility are similar, they are not the same.






Discussion
Ask a question about 'Extensibility'
Start a new discussion about 'Extensibility'
Answer questions from other users
Full Discussion Forum



Encyclopedia


In software engineering
Software engineering

Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches....
, extensibility (sometimes confused with forward compatibility
Forward compatibility

Forward compatibility is the ability of a system to gracefully accept input intended for later versions of itself.Although forward compatibility and extensibility are similar, they are not the same....
) 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
System

System is a set of interacting or interdependent entities, real or abstract, forming an integrated whole.The concept of an "integrated whole" can also be stated in terms of a system embodying a set of relationships which are differentiated from relationships of the set to other elements, and from relationships between an element of the se...
 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.

Although forward compatibility and extensibility are similar, they are not the same. A forward compatible system can accept data from a future version of itself and pick out the "known" part of the data. An example is a text-only word processor ignoring picture data from a future version. An extensible system is one that can be upgraded to fully handle the new data in the newer input format. An example is the above mentioned word processor that can be upgraded to handle picture data.

In systems architecture
Systems architecture

A system architecture or systems architecture is the conceptual design that defines the structure and/or behavior of a system.An architecture description is a formal description of a system, organized in a way that supports reasoning about the structural properties of the system....
, 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
Maintainability

In software engineering, the ease with which a software product can be modified in order to:* correct defects* meet new requirements* make future maintenance easier, or...
 and for avoiding early obsolescence
Obsolescence

Obsolescence is the state of being which occurs when a person, object, or service is no longer wanted even though it may still be in good working order....
.

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
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
 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
Prince Edward Viaduct

The Prince Edward Viaduct System is the name of a Truss arch bridge system in Toronto, Ontario, Canada that connects Bloor Street East, on the west side of the system, with Danforth Avenue on the east....
 located in Toronto
Toronto

Toronto is the List of the 100 largest municipalities in Canada by population in Canada and the Provinces and territories of Canada Provincial and territorial capitals of Canada of Ontario....
, Ontario
Ontario

Ontario is a Provinces and territories of Canada located in the Central Canada part of Canada, the largest by population and second largest, after Quebec, in total area....
, Canada
Canada

Canada is a country occupying most of northern North America, extending from the Atlantic Ocean in the east to the Pacific Ocean in the west and northward into the Arctic Ocean....
 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
Oxford English Dictionary

The Oxford English Dictionary , published by the Oxford University Press , is a comprehensive dictionary of the English language. Two fully-bound print editions of the OED have been published under its current name, in 1928 and 1989; as of December 2008 the dictionary's current editors have completed a quarter of the third edition....
 cites examples going back to the 17th century.