Strategic Partners
About Us
News & Events
Contact Us
Sustainable Energy

Engineering Hardware Diagnostics Program for a Phosphorescence Image Scanner

Project Overview
This project consisted of a port of an existing test and service program to the Macintosh System 7 environment. The existing program was a control and service program for a precision, flat bed laser scanner used for imaging radioisotopic or chemiluminescent samples such as gels or blots. The original program had been written in Pascal and was to be redesigned as an object-oriented application in C++. The target operating platforms were NT 3.51 and Macintosh System 7.

Software Design and Methodology
This project was completely specified by an existing test and service program. Therefore, the only identified risk was connected with a new tool, namely the Microsoft cross compiler selected for use with the project. Advance information indicated that something like 99% of an MFC 3.0 compliant C++ program should port, with no changes, to the Mac environment. Therefore, we decided that the existing Pascal program would be redesigned around 16 C++ classes which collectively embodied the major control subsystems of the scanner.

The initial design target for the port was the NT platform. Configuration management software was used to automate a “daily smoke and build” test first for the NT platform and then to the Mac using the cross compiler. Automated unit tests were designed for daily, post-build checks of various features such as little endian to big endian conversions.

Because the design of each required class was clear, we decided to use a staged delivery development methodology. This model was appropriate because, at each stage, deliverables in this methodology are not prototypes but rather finished products. This was consistent with the complete and static nature of the specification. It also meant that, at each stage, the deliverables worked in their final form, which allowed a training manual to be rewritten in tandem with software development based on the working code.

Project Outcome
Because most of the 16 classes were self-contained and largely independent of the others, it turned out to be easy to partition the project into staged deliveries without serious complications from intermodule dependencies. Early estimates of freedom from porting problems for MFC compliant code turned out to be fairly accurate. The client knew from past work with L'Monte that our process would be well documented and that they would get a solid product and a well-written and thorough report describing the porting issues and the pro's and con's of using MS's cross compiler. The project was completed in just eight months.