The product to be designed and built is a Banking System. The system consists of two parts:
-
the Front End, an automated teller machine terminal for simple banking transactions.
-
the Back End, an overnight batch processor to maintain and update a master banking account file.
Both parts will be run as console applications, that is, they are to be invoked from a command line and use text and text file input/output only.
The objective was to design, implement, document and deliver a two-part software product. All phases to follow Extreme Programming philosophy as much as it applies - in particular,
-
continuously maintained test suites as requirements and quality control
-
pair programming of all code
-
simplest possible solution to every problem
-
continuous redesign and rearchitecting
-
automation in testing and integration
-
frequent integration and complete releases
The project was done in six phases. Phases cover steps in the process of creating a quality software result in the context of an Extreme Programming process model.
-
Front End Requirements
-
Front End Rapid Prototype
-
Front End Requirements Testing
-
Back End Rapid Prototype
-
Back End Unit Testing
-
Integration and Delivery