Next: 1.2 How to Read
Up: 1 Introduction
Previous: 1 Introduction
Subsections
The Toolkit for Conceptual Modeling (TCM) is a collection of software tools
to represent conceptual models of software systems in the form of diagrams,
tables, trees, etc. A conceptual model
of a system is an abstraction of the behavior or decomposition of
the system. A conceptual model can be presented visually by means of diagrams,
graphs, trees, tables or structured text.
During software development, a number of stakeholders must reach
a common understanding of the behavior and structure
of the software. These are for example users and sponsors
(or their representatives), analysts, designers and programmers.
An important function of conceptual models is to facilitate this
understanding.
The notations for software specifications that are
supported by TCM are explained in appendix C.
A more detailed analysis of the nature and use of some of
these techniques and heuristics in various existing methods for
software specification is presented in the
book [18]
.
This document describes version 1.6 of the TCM software tools.
This manual is the successor of [6].
This version of the TCM software (henceforth called ``TCM'') is a collection
of document editors, i.e. diagram, table and tree editors, each for a
different graphical notation system. Currently, TCM has the following editors:
- Diagram Editors.
- Generic Diagram Editors.
- TGD: Tool for Generic Diagrams.
This tool is intended for arbitrary
diagrams, not covered by one of the other diagram editors.
- Data View editors.
- TERD: Tool for Entity Relationship Diagrams.
This tool is intended for entity relationship diagrams (ERDs) that are
used in Entity Relationship (ER) modeling [4].
The ER method is explained in [18].
The ER notation that TCM supports is explained in
appendix C.1.1.
- TCRD: Tool for Class-Relationship Diagrams.
This tool is intended for class-relationship diagrams (CRDs) that
are used in object oriented modeling. The CR notation variant that
TCM supports is explained in appendix C.1.2.
- Behavior view.
- TSTD: Tool for State Transition Diagrams.
This tool is intended for state transition diagrams (STDs) according
to the Mealy notational convention.
This technique is explained in appendix C.2.1.
- TRPG: Tool for Recursive Process Graphs.
This tool is intended for
recursive process graphs (RPGs), also called life cycle diagrams.
This technique is explained in appendix C.2.3.
- TPSD: Tool for Process Structure Diagrams.
This tool is intended
for process structure diagrams (PSDs) that are used in the
Jackson System Development method (JSD) [9].
The JSD method is discussed in [18].
This technique is explained in appendix C.2.2.
- Function view.
- TDFD: Tool for Data Flow Diagrams.
This tool is intended for data flow diagrams (DFDs) that are used in
the method of Structured Analysis (SA) [5,22].
This method is discussed in [18].
The technique is explained in appendix C.3.1.
- TDEFD: Tool for Data and Event Flow Diagrams.
This tool is intended for
data and event flow diagrams (DEFDs), that are used in the method of
Structured Analysis for Real Time Systems (SA/RT) [16]
and in the Yourdon Systems Method [23].
The technique is explained in appendix C.3.2.
- TSND: Tool for System Network Diagrams.
This tool is intended for system
network diagrams (SNDs) that are used in the Jackson System Development method
(JSD) [9]. The JSD method is discussed in [18].
The technique is explained in appendix C.3.3.
- Table Editors.
- TGT: Tool for Generic Tables.
This tool is intended for generic tables
not covered by one of the other table editors.
- TTDT: Tool for Transaction Decomposition Tables.
This tool is intended for transaction decomposition tables.
These tables are used in some of the methods presented in [18].
The technique is explained in appendix C.4.1.
- TTUT: Tool for Transaction-Use Tables.
This tool is intended for transaction-use tables.
These tables are used in some of the methods presented in [18].
The technique is explained in appendix C.4.2.
- TFET: Tool for Function-Entity type Tables.
This tool is intended for function-entity type tables.
These tables are used in some of the methods presented in [18].
The technique is explained in appendix C.4.3.
- Tree Editors.
- TGTT: Tool for Generic Textual Trees.
This tool is intended for generic trees in which all nodes are text labels.
- TFRT: Tool for Function Refinement Trees.
This tool is intended for function refinement trees, also called
function decomposition tree. Function refinement
trees of this type are used and discussed in [18].
See also appendix C.5.
All editors look very similar and have many operations
in common. All diagram editors have almost the same edit commands
and all table editors have almost the same edit commands.
The current version of TCM supports constraint checking for single
documents (e.g. name duplication, cycles in is-a relationships) but
does not yet support constraint checking across documents for
integrated conceptual modeling.
Figure 1.1 gives an overview of how the different document
editors in TCM can be used in various methods for software
specification. Each of these methods uses a subset of the notations
available in TCM and defines a number of consistency rules
across notations. Thus, each method allows the specification
of a model of the required
software product and uses different notations to specify different views
upon this model. The consistency rules guarantee that there is
a model that is being specified.
Views that are inconsistent according to these rules, do not represent a
model.
The consistency rules of ER, DF and JSD are defined in [18]
and the consistency rules of YSM are defined in [23].
The current TCM version does not yet implement all
the consistency rules of these methods. The implementation of
consistency rules of these methods is planned for TCM
version 2.0 as is described in [7].
In TCM there is no consistency checking for the ISAC and Information
Engineering methods. But tools for TCM can be used to draw the
diagrams. The same applies to object oriented (OO) methods:
TCM currently contains tools for drawing diagrams and tables for OO models,
albeit in a bit different notation. However, in the future
we want to build support for integrated OO modeling into TCM as well.
Figure 1.1:
Using TCM in several software specification methods.
![\begin{figure}
\begin{center}
\includegraphics [height=7.6in]{p/methods-1-60.eps}\end{center}\end{figure}](img2.gif) |
Next: 1.2 How to Read
Up: 1 Introduction
Previous: 1 Introduction
Frank Dehne,Faculty of Mathematics and Computer Science, Vrije Universiteit Amsterdam
11/17/1997