Tuesday, May 11, 2010

Feature Code, Infrastructure Code and Refactoring

Designing a complex software system means beeing prepared for implementing new features over time. For this reason, the software architecture should describe, how to implement new features.

The conceptual part of a software architecture contains instructions how to setup the infrastructure code needed to embedded feature code into your existing software.

Facts on infrastructure code:

  • Built along a concept
  • Mostly created by copy/paste/modify of similar infrastructure code
  • 70% of a complex software system is infrastructure code
  • Refactoring of a software system means adopting infrastructure code
Refactoring of a software means changing the structure of the system without changing it's functional behavior.

Wikipedia defines refactoring as follows:

Code refactoring is the process of changing a computer program's source code without modifying its external functional behavior in order to improve some of the nonfunctional attributes of the software. Advantages include improved code readability and reduced complexity to improve the maintainability of the source code, as well as a more expressive internal architecture or object model to improve extensibility.

-- http://en.wikipedia.org/wiki/Refactoring

A refactoring just improves the structures of your software system.

Because a refactoring does not change the functional behavior, a refactoring does never add business value to a software system.
A refactoring affects infrastructure code, as we stated before.

Generating the infrastructure code makes it possible to automate the refactoring of a complex software system.
Actifsource allows you to formalize the conceptual parts of your software architecture and generate all infrastructure code. This allows to generate up to 70% of a complex software system. It allows also to refactor the generated infrastructure code of your software system automatically.

Stop writing infrastructure code - focus on feature code.

No comments:

Post a Comment