Sale!

# Software Development – web version of ENCAL

10,000 3,000

## Product Description

Summary
This final year project describes the development of a new version of ENCAL: a Computer Based
Learning tool designed to help teach children about the structure of algebraic expressions.
The process of creating this software involved gaining an understanding of both the existing system
and the need for a new object orientated Java version. A software design methodology was chosen to
suit the project and the issues involved in working on large development projects were explored. The
user interface of the existing version of ENCAL was then recreated using Java’s Swing components.
The internal structures and methods of the new version required an understanding of recursive data
structures; in particular, binary expression trees. These structures had to be designed so that the software
would be easily extendable in the future. Finally, the software was tested and evaluated to see if the
project objectives had been met.

Contents
1 Introduction 1
2 Analysis of ENCAL v2.03 7
3 Problems with ENCAL v2.03 14
3.1 Slow interpretation speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Memory leaks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3 Lack of portability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4 Not easily extendable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4 Design methodologies 17
5 Working on large development projects in Java 21
6 The Design and Implementation of the Basic Graphical User Inteface 24
7 Design of the internal data structures 28
8 Design of the core data structure 31
9 The calculator model 36
10 The data tree model 40
11 The iconic model 43
12 Project evaluation 46
The quality and quantity of the background reading . . . . . . . . . . . 48
Researching methodologies and the selection of a particular methodology 48
The understanding of v2.03: which features to retain and which to change 48
Bibliography 49