Generally speaking, the SoProTech is a software development tool, as it
produces software in a broad sense, as explained below.
However, it should be noted that SoProTech does
not fully overlap with currently available software development
tools: in fact, in most cases it can be easily used as an
additional tool within running projects without conflicting with the
tools already in use.
More specifically, SoProTech can be applied as both a process or
a subprocess, and the distinction mainly depends on the size
of the software development project involving SoProTech:
- Large projects or large development teams may apply SoProTech as a subprocess, that is, as one of several software design and development tools, integrating SoProTech production results (that is, generated files) in the same manner as if they had been produced by other means;
- Small projects or small development teams may apply SoProTech as a process, that is, as the main software development tool, along with traditional tools like text or visual editors, compilers, debuggers, revision control systems, and so on.
Beyond the high speed of its SoProMach, a remarkable key feature
of the SoProTech is its language-neutrality:
Software Entities can be used to generate software
in practically any computer language, both general-purpose
and special-purpose, ranging from
procedural languages like C, COBOL, or Fortran,
to object-oriented languages like Java[tm], C++ and C#, and to
a great variety of specialized languages, like SQL, HTML, or XML.
The high speed and language neutrality of SoProTech
open up new ways to the large scale production of software.
Software within SoProTech's broad perspective is any
computer file, according to two categories:
- Human-readable files, also called generatable files: this group contains all the files that can be written or read using a standard text file editor, such as "vi" or "notepad";
- Data files.
More exactly, in the current implementation of SoProTech
a generatable file is any single-byte (typically, ASCII or ISO8859)
characters file containing computer programs, or parts thereof,
in any language, from
Cobol to Java[tm], to C++ and C#, to HTML, to PostScript®, as well as
plain text, such as emails, technical specification, reports, and so on.
A data file is any other type of file: images, sounds, and any
document in any binary format.
The main advantages obtained by applying the Somusar/Software Production Technique[tm] within a software
development project derive from Software Entities and Software Molds.
The Software Entities, described later
in chapter 5
, introduce a new format for software entities. The
concept of software entity (or component, or object) is
by no means new in the software industry and in computer science:
nonetheless the new format introduced by the Somusar/Software Entities[tm] offers several
new advantages to software development teams and professionals, in terms
of flexibility, generality, productivity, reusability, and maintainability.
Software Entity files are plain text files written in Somusar/Sisendel[tm],
a new simple software entity design language, described
in chapter 9
.
In short, a Somusar/Software Entity[tm] allows to centralize all definitions related to
the software representation of a real-world entity, thus greatly
improving entity-related consistency within the target
software system or application dealing with that entity.
Database tables and keys, logic processing objects,
data structures, usage interfaces - for both human users and
automatic systems -, all these different facets of a Software Entity
can be concisely and uniformly designed within one Software Entity file.
The experienced software designer and developer may rapidly
grasp this concept by looking at the examples of
chapter 5
.
The multifacet design contained in a Software Entity file
is automatically translated
by the high-speed SoProMach of the SoProTech
into actual software files that implement those facets - database tables and
keys, logic processing objects and data structures, and usage interfaces.
Based on long-established and well-known development techniques,
such as macro-processing, templating, and code patterns,
Somusar/Software Molds[tm] - described in
chapter 6
-, implement a new software concept that allows
one or more software development teams to:
- Effectively record and reproduce software development guidelines and best practices, and apply them to produce, or impress, all generatable files related to the Software Entities defined within one or more software projects;
- Identify, insulate and automatize a large part of the repetitive development work within one or more software development projects.
Key to Software Molds is Somusar/Tefigel[tm], a new text file generation language,
which can be shortly described as
a generalized file-oriented text and
macro language. Software Molds are written in
Tefigel, which in fact has been purposely defined as the back-end
language for Sisendel, although it can also be used as a
stand-alone tool.
Due to the fact that Tefigel is a purely textual
computer language, Software Molds are human-readable by definition,
and can thus easily be written, exchanged, and customized
by any development team. More information about Tefigel is
provided in
chapter 9
.
[Previous chapter]
[Next chapter]
[Back to top]
|