Tech-Talk: Design By Contract
As object-orientation has matured it has become the de facto standard for developing modern software. Object-orientation as it stands has its merits, enabling us to build larger systems than standard structural approaches did. However, we still seem to be in a software crisis – projects are still delivered late and over budget. We obviously haven’t got it right yet.
This talk will look at Design by Contract and how it can be used to augment your object-oriented design and development. Focusing on one of the major issues with software engineering – testing – this talk will aim to introduce Design by Contract concepts and how they can be used to develop systems that we have more confidence in, while still enabling us to scale our understanding. Design by Contract itself can be augmented using formal tools, and a quick look at the B-Method will also be presented and shown how it can used in our existing software development lifecycle. Diagramming issues will also be discussed.
Design by Contract itself has implications for a range of modern software development problems, such as service orientation and security. Design by Contract is finding support by a number of major software vendors. Anyone interested in software engineering will find the talk interesting, especially those interested in software correctness and modelling.