Skip to content

Latest commit

 

History

History
13 lines (7 loc) · 1.31 KB

README.md

File metadata and controls

13 lines (7 loc) · 1.31 KB

Design Intention Driven Programming is a novel software development approach that I proposed and developed as the topic of my MSc thesis at the Open University (UK).

This tool-supported methodology aims to reduce long-term maintenance costs in large-scale software projects.

It encourages the recording of requirements, design intentions, and rationale via structured, object-oriented, mandatory documentation constructs ("comments on steroids") embedded directly in software source code, and provides mechanisms for enforcing adherence to documentation policies.

The scheme can be used to encourage a requirements-driven and fully documented design of the application architecture for a greenfield system, or it can support the systematic understanding and reverse engineering of existing legacy code bases.

The object-oriented commenting scheme is particularly suitable for documenting instances of design patterns and so-called "delocalized plans", or code implementing a feature or requirement that is spread across multiple classes and source code files.

As a proof-of-concept of the approach, I designed an extension to the grammar of Java 5, called Java with Intentions, and implemented a prototype of a language pre-processor that could be run during the build step of a CI/CD pipeline.

Technologies: Java, ANTLR v3