Analyse a little, design a little, program a little.
Why are software process models important? Primarily because they provide guidance on the order (phases, increments, prototypes, validation tasks) in which a project should carry out its major tasks. Many software projects have come to grief because they pursued their various development and evolution phases in the wrong order.
31.1 Introduction and Objectives
In this chapter and in Chapter 32 we initiate a project to design and implement an option pricing software framework using the Monte Carlo method. In order to reduce the scope and keep the presentation manageable we focus on the pricing of a range of one-factor options whose underlying variable is described by stochastic differential equations (SDEs). In general, analytical solutions are not available and we resort to numerical methods, in particular the finite difference method (FDM).
Some of the goals of this chapter are:
- To develop a process to design the software framework that produces a series of software prototypes with each prototype containing more functionality than its predecessor. In this case we attempt to simulate the lifecycle of real software projects (for example, market-driven products or in-house development projects).
- To show how the techniques that we introduced in Chapter 9 can be applied to the design of flexible and extendible code. In this chapter we show how to achieve this ...