The TeXspec Tool for Computer Aided Software Engineering

University of Manitoba, Canada

Abstract: Commercial tools for Computer Aided Software Engineering (CASE) are common, and implement many development methodologies. Unfortunately, these tools suffer deficiencies when developing software which includes mathematical notation. Also, software development standards such as CSA N286.7 now demand quality assurance and documentation beyond what is commonly supported by the commercial products. The TeXspec tool is being developed for free distribution, and seeks to address some of these problems.

TeXspec supports a single development methodology in the initial release. Derived from the Yourdon/DeMarco method, it produces ``Data Flow Diagrams'' and ``Mini-specs'' to document software requirements. Software design is captured in ``Structure Charts'' and ``Module Specifications''. Requirements and Design Data Dictionaries are separate, but design information can be inherited from requirements if they happen to be equivalent. All products can feature mathematical notation, with consistency between products verified automatically. Although the Module Specification can use free form LaTeX, support is included for Noweb syntax, permitting literate programming practice.

The presentation begins with a quick overview of software development using a CASE tool. This is followed by a discussion of some of the problems with the commercial tools, and the way that TeXspec addresses them. Strengths of the commercial tools over TeXspec will also be examined. Examples of TeXspec diagrams and documentation products will be presented, and user input requirements will be discussed. The current state of TeXspec development will be addressed.