CASE WORK BENCHES: Case work benches are available to support most software process activities. There are many types of CASE work benches.
i) Software development work bench: These work benches are used for analysis and design, programming and program testing.
ii) Cross development work bench: These are work benches which support host target working where software is developed on one machine for execution on some other system.
iii) Configuration management work bench: Supports configuration management.
iv) Documentation work bench: Supports production of high quality documents.
v) Project management work benches: Supports project management activities.
Students can discuss any of the two work benches discussed below:
1. Programming work bench: Programming work bench is made up of a set of tools to support the process of program development. Some of these tools which are part of a programming work bench are:
a) Language compiler: Translates host programs to object code. As part of a translation process, an abstract syntax tree and a symbol table is created.
b) Structured editor: Incorporates embedded programming language knowledge and edits the syntax representation of the program in the AST rather than its source code text.
c) Linker: Links the object code program with components which have already been compiled.
d) Loader: Loads the executable program into the computer memory prior to execution.
e) Cross referencer: Produce a cross reference listing showing where all program names are declared and used.
f) Pretty Printer: Scans the AST and prints the source program according to embedded formatting rules.
g) Static analyser: Analyses the source code to discover anomalies such as uninitialized variables, unreachable code, uncalled function and procedures, etc.
h) Dynamic analyser: Produces a source code listing annotated with the number of times each statement was executed when the program was run. It may also generate information on program branches and loops and statistics of processor usage.
i) Interactive debugger: Allows the user to control the execution sequence and view the program state as execution progresses. Figure 2 shows the diagram of a programming work bench.
4GL work benches:
4GL work benches are geared towards producing interactive application which relay on abstracting information from an organizational data base presenting it to end users on their terminal or work station and then updating the database with changes made users. The user interface usually consists of a set of standard forms or a spread-sheet. The tools which may be included in a work bench are:
a) A database query language such as SQL which may either be input directly or generated automatically from forms filled in end-users.
b) A form design tool which is used to create forms for data input and display.
c) A spread-sheet which is used for the analysis and manipulation of numeric information.
d) A report generator which is used to define and create reports from information in the database.
Analysis and design work benches:
Analysis and design work benches are designed to support the analysis and design stages of the software process where models of the system are created. The components of this model are:
j) Diagram editors to create data flow diagrams, structured charts, entity relationship diagram, and so on.
k) Design analysis and checking tools which process the design and report on errors and anomalies. These are integrated with editing system so that user errors are trapped at an early stage in the process.
l) Repository query languages which allow the designer to find the designs and associate design information in the repository.
m) A data dictionary which maintains information about the entities used in a system design.
n) Report definition and generation tools which take information from the central store and automatically generate system documentation.
o) Forms definition tools which allow screen and document formats to be specified.
p) Import-export facilities which allow the interchange of information from the central repository with other development tools.
q) Code generators which generate code or code skeletons automatically from the design captured in the central store.
Testing work benches:
Testing work benches are open systems which evolve to suit the needs of the system being tested. The tools which might be included in a testing workbench are:
r) Test manager: Manages the running and reporting of program tests. This involves keeping track of test data, expected results, program facilities tested and so on.
s) Test data generator: Generates test data for the program to be tested. This may be accomplished selecting data from a database or using patterns to generate random data of the correct form.
t) Oracle: Generates predictions of expected results.
u) File Compactor: Compares the result of program tests with previous test results and reports differences between them.
v) Report generator: Provides report definition and generation facilities for test results.
w) Dynamic Analyser: Adds code to a program to count the number of times each statement has been executed.
x) Simulators: Different kinds of simulators such as Target simulators, User Interface simulators, I/O simulators are available for simulation.
Meta-CASE work benches are CASE tools which are used to generate other CASE tools. They are usually based on a description of the rules and notations of design or analysis methods. The general principle will be based on the diagram shown in fig. 9.
There are 5 different aspects which are to be considered in Meta-CASE workbench.
y) A data model for data capture and output generation
z) A frame model which defines the views of the data model to be generated. Each possible view of the data model is termed a frame. Links between frames which allows navigation frame from one representation to another are defined in this model.
aa) Diagrammatic notation for each diagram frame. bb) Textual presentation for each text frame.
cc) Report structures.