ACM SIGSOFT SOFTWARE ENGINEERING NOTES vol 12 no 3 Jul 1987 Pages 37-41
Future Software Development Management
System Concepts
Initial work during the last ten years
for defining and
prototyping
software Development Management Systems has
prepared the
ground for presenting the concepts for the
year 2000 DMS.
©
Copyright 1988-2006 Ben.Livson@bal.com.au. All
rights reserved.
DMS PRODUCT EVOLUTION
Survey and
development of software
tools was started by the
author in 1978
as employee of the Israel Aircraft Industries IAI.
The first
survey phase included working as a software quality
assurance engineer in a
large avionics project until 1982. The
conclusion was that
the software engineering methods
have not
matured to permit a 'big bang' DMS development
project. Instead,
an incremental
evolutionary DMS development
approach was
selected. DMS tool
development started by
computerizing the
modest, but
highly successful TRW
Unit Development Folder
concept.
Specification of the IAI UDF was completed in 1982-1983,
the first
prototypes entered use in IAI during 1984 and have been
in trial use to support avionics and
dynamic simulation software
development. See [1]
for documentation about
the UDF tool.
Limitations of the UDF tool were lack
of configuration management
services and lack of support for project
management. The problem
of configuration management
is critical, because
IAI both
develops and
maintains computer embedded avionics systems for the
Israel Air
Force in an open shop development environment. There
is no
clear division between development and production as is
customary with
most commercial data processing organizations. Bad
synchronization between
software development and
the often
delayed preparation of
the folders was
perceived as a major
problem for
the UDF tool.
The other major project management
problem was
how to cross milestones and
deliverable items with
the actual status of the files system. An
off-line auxiliary UDF
tool could
not provide answers
to these problems.
IAI UDF
experience led
to the development
of the Ultraware
Ltd.
Development
Management System.
PRESENT DMS FEATURES SNAPSHOT
DMS is
a software environment driver
that integrates meta-data
and execution system. DMS supports
software systems development,
configuration management and project management for
the complete
life-cycle. DMS features AI
type semantic analysis
of the
software
process; solves the
open shop SCM
problem; traces
development to
project planning; maximizes management visibility;
automates version control
and build; supports
SQA and IVV&T
standards; traces
test cases to requirements;
computerizes the
TRW unit development folder concept; helps
human communications,
and data
sharing; controls access
for work safety; provides
callable
interface library for customized environments.
PRESENT DMS APPROACH, CONCEPTS AND
PHILOSOPHY
The DMS
is a software
environment driver. The DMS
approach is
to support software
engineering in its natural
environment. It is
an integrated meta-information handler and
execution system. Its objective is to promote datasharing and
human communications in
a distributed software
development
and support
process.
The DMS
is tailored to
the files management of your
computer system.
Its meta-data supports software
project
organization into the natural hierachy
of directories and files.
The DMS
system is an opposite approach to a number of container
type software tools such as the Softool
CCC (tm). The advantage
of the
DMS as
compared to the container type tools is that no
export or import
operations are needed to communicate between the
container and
the natural file system. The container
tools cause
a considerable overhead
both in terms of wasted work time
and
computer resources, and compel users to learn
additional command
syntax. The separate hierarchy
of the container tools is a
likely source
of confusion and a
considerable burden to users.
Perhaps the most severe drawback of container type
tools is that
low level
configuration management operations are
done manually
off-line from the main software development
process. The unique
advantage of
the DMS system is that all low level configuration
management
operations are automatically executed in parallel to
the software engineering process. In
particular, version control
is
automatically synchronized to the software engineering process
and is not a
separate delayed process.
A
key issue of
the DMS system
is to minimize
meta-information
requested from users. The minimum requested from
users is
to state the
names of directories and files. This
information is
used by the DMS to automatically execute low level
configuration management
commands and to
provide users
an optimized
access to files management. This minimal information
is in any
case compulsory and the DMS captures this information
from users. Users are relieved from
restating directory and file
names each
time a file is being accessed. In short, the number
of
keyboard
strokes is minimized by the DMS system. Basically, all
additional meta-information such
as milestone data
is
voluntary and
aimed at
providing greater management control and
visibility.
The DMS system is an open access
system. It does not force
any specific software engineering
method. It does offer
comprehensive life-cycle support but it does not force users to
follow
any specific life-cycle model such as
the waterfall model
or rapid prototyping. However, considerable semantic analysis
is
done by
the background housekeeping
functions about the
reasonableness
of the software engineering process.
Meta-data is
tied to the
files management system to detect anomalies.
The aim
is to
guide DMS users
to devote considerable
effort in the
conceptual
phase of software development. The DMS system does not
address itself
to issues such
as which method
to use
in
requirements definition. It is
only a software engineering
environment
driver. Each
organization should use its own methods
and tools via
the DMS system.
Future directions of the
DMS system are not aimed at
providing support
to any specific
software engineering
methodology. The experience with
these methodologies has been
that they
cause more harm
than good. The aim is to provide
general purpose services
such as autoregression
test support,
document trace
tools to support verification, and templates.
A major effort will
be to port
the DMS tool to a number of
major
operating systems. Software development
in a heterogeneous
operating
system environment is the next DMS goal. Currently, DMS
is implemented for DEC VAX/VMS, Microsoft
DOS for IBM PC/PS, and
the first ATT
Bell Laboratories UNIX V compatible implementations
are nearing completion. See [2] - [3] or contact the
author for
information
about the current status of the DMS implementations.
FUTURE YEAR 2000 DMS CONCEPTS
'Future Generation Development
Management System Requirements'
was initially displayed at
the Tools Presentation Track, 9th
ICSE, Monterey, 30.3
- 2.4.87. This is the first paper form
presentation.
Future DMS requirements shall be based on the
subset of SOLVABLE
software engineering problems. The general theme of formalizing
and
automating the software
process is not in
the author's
opinion a
solvable problem. The software process
may be
formalized and
automated only in application domains that are
completely
understood and stable.
There
is no need
for a DMS
in such application
domains.
Commercial DP
systems that can be
automatically generated by
application
generators are examples. Future application generator
will have
natural language interface and built-in configuration
management services. Thus, future application generators will
have similar functions
to the DMS, but the basic
concepts are
different.
Future DMS
will not be
based on any of the new paradigms for
software engineering. Both formal
and semi-formal software
engineering methods are likely to continue to do more harm than
good until
the year 2000. In most application domains even
formalized executable requirements are not enough. The problem
of capturing requirements
still remains the classic problem of
developer and customer understanding each
other. The automation
of the
implementation phase is gradual but certain. The "final
solution", if
ever attained, must come from the
AI research of
cognitive reasoning. We do not believe that an AI solution that
supports the conceptual phase will be available before the
2020 -
2050 period. New tools
supporting conceptual phase
may be
integrated to
DMS 2000 open
ended architecture. The focus,
however, shall
NOT be on external tools integrated to DMS 2000.
DMS 2000 ARCHITECTURE: THE
PRIMARY SUBSYSTEMS
- Standard Relational Information
Architecture
- Natural Language Interface
- Execution Engine
- AI Component Analyzing the Software
Process
Standard Relational Information
Architecture Supports:
- Automatic creation of test cases from
requirements
- Traceability
- Interfaces control definition
- Incremental development
- Reusability
- Configuration management
- Contract management
- Management visibility
- Distributed project environment
Natural Language Interface to DMS Information
Architecture shall
hide database aspects of DMS 2000. In
particular, no language or
syntax for
data retrieval or
entry is necessary.
Natural
language
interface is crucial for the DMS to succeed in a hostile
environment
characteristic many (most?) projects.
DMS Execution Engine Requirements
The DMS
shall be a
meta-data driven execution system
in the
natural working environment. The DMS engine shall
automatically
link the
relational information architecture into the execution
system. The engine shall capture execution data
and enter it to
to the
information architecture, thus
minimizing manual data
entry requirements. The engine shall do parallel processing of
all low
level configuration management
operations without user
intervention.
DMS AI Component for Analyzing the
Software Process
The DMS
shall have a software engineering
rules base and an AI
component capable of
verifying compliance to the rules
by
matching the rules and the relational
meta-data. The rules shall
cover adherence
both to life-cycle
and to contractual
constraints.
DMS 2000 shall NOT be based on the
'Value Added Approach'
The current trend of integrating tool
fragment .. utilities into
packages is
useful only for
the implementation phase
that
approaches the
'completely understood and stable domain' stage.
Examples of successful implementation phase
packages are: UNIX,
VAX Set,
Toolpack
.. APSE ... The value added approach of
incrementally building the
DMS 2000 does not work, because the
concept is
based on the
DMS engine, also
called 'software
environment driver', relational
database architecture, natural
language front
end, and background AI component.
Standard Computer Vendor Solutions For DMS Implementation
DMS
relational
information
architecture shall be
based on
computer vendor
standard. Also, the natural
language interface
shall be
supplied by computer vendor. The unique components for
the year 2000
DMS shall the DMS engine and the DMS AI component.
Stage of Current DMS Implementation
versus DMS 2000
Information Architecture -- Yes, but weak
Natural Language Interface -- None
DMS Execution Engine -- Powerful
AI Background Component -- Yes, but weak
REFERENCES
[1] Ben Livson, "Computerized Unit
Development Folder User
Manual", Proceedings of the Fifth
International Conference
of the Israel
Society for Quality Assurance, October 1984.
[2] Ben Livson, "AI Development
Management Systems", third
annual conference of
the Israel Society for Artificial
Intelligence, January 1987.
[3] Ben Livson, "Unix Development
Management Systems", second
annual Amix conference of the Israel Unix Society, June 1987.
Author's Present Address: Ultraware Ltd., P.O. Box 367,
Kiriyat Ono 55102, Israel. 972-3-341366, telex 4900004722
(USA) and electronic mail Dialcom INC 52:CNM451 (USA).