EduSET:
Educational Software Engineering Tool
Page 1
Ben Livson
Information & Software
Technology, Vol 30 No 4, May 1988.
© Copyright 1988-2006 Ben.Livson@bal.com.au. All
rights reserved.
Why are freshmen computer
science graduates almost useless as
software
engineers? Why must companies invest in
massive retraining of
CS graduates? Light on these problems is shed and at a
least a partial
solution is
attempted by the
Educational Software Engineering Tool
EduSET project. The EduSET interface to software tool information and
demonstration is
specified. EduSET architecture is outlined.
Submission and cooperative information
for parties interested in EduSET
is given.
KEYWORDS Software Engineering,
Education, Development Management System
DMS, EduSET,
Software Quality Assurance SQA, Configuration Management.
I N T R O D U C
T I O N
Software engineering tools
are supposed to aid, formalize or
support the
most difficult of all processes, namely the human reasoning
process called
software engineering. This process is
by nature
distributed,
cooperative and heterogeneous. Interacting with project
management, configuration
management, software quality
assurance,
customer and
independent verification and
validation is a
most
complicated, costly
and painful process
even for experienced
professionals. CS students in most cases do not have the
faintest idea
about these
real life problems.
EduSET can to simulate the real
working
environment, and lets students act in
the roles of developer,
software
quality assurance, configuration and project
management and
customer
end user. EduSET gives a framework for
controlled access,
with each user
category having its own privileges. EduSET will enable
the CS course
software engineering lecturer to define
a class project
with
students participating in the different
roles. EduSET
supports
experiment
with life-cycle paradigms.
A CS student does not qualify as a software engineer before
developing
software under (simulated) real life circumstances. EduSET
will support software
development in a natural environment. Every
software
development tool or utility must
be executable via EduSET.
EduSET will be a software
environment driver that permits the use of
all other
software products.
EduSET will
support the whole
life-cycle. EduSET
shall
enforce a
disciplined software engineering approach under configuration
management. Configuration identification, control and
status reporting
services will
be part of EduSET. Auditing shall be
supported by
EduSET,
providing a full range of IEEE CS software engineering standard
checklists and
templates.
EduSET:
Educational Software Engineering Tool
Page 2
EduSET
A R C H I T E C T U R E
EduSET architecture is
based on the
DMS Development
Management System
[1] software environment
driver as a kernel, a
software tools
information layer, and
components to be provided by
theEduSET
user community. The basic features of
the DMS kernel are:
* Software Environment Driver
* Integrated Meta-Information Handler
and Execution System
* Complete Life-Cycle and Configuration
Management Support
* Automatic Background Processing for
Version Control
* AI Component for Analyzing Software
Engineering Process
* Data Sharing and Human Communications
* Controlled Access by User Category
* Natural Software Engineering Environment
* Maximal Management Visibility
* Forms for SCM, SQA, Software Testing,
Verification and Validation
* Computerization of the TRW Unit
Development Folder Concept
* Support for Implementing IEEE
Software Engineering Standards
* Traceability of Testing to
Requirements Supported
* Software Environment Kernel Functions
Library
* Callable Interface
* Portable: Digital Equipment VAX/VMS,
AT&T Bell UNIX and Microsoft DOS
* Life-Cycle Paradigm Generator
DMS LIFE-CYCLE PARADIGM SUPPORT
The most
unusual DMS feature
is its life-cycle paradigm
generation to
support experiment on software processes.
Software development
(life-cycle) paradigms are
the
techniques of
phasing software development
(life-cycle) into a
controlled
software engineering process with milestones, deliverable
items and
reviews. Four different paradigms are
discussed in [2]:
- Conventional "Waterfall"
Software Development Model
- Prototyping
- Operational Specification
- Transformational Implementation
The default DMS conventional
life-cycle paradigm supports a
hierarchy of
configuration items, and supports one-to-one,
one-to-many
and
many-to-one hierarchy in development,
namely the split of a joint
specification
into configuration items and the subsequent integration
of these
items. DMS forces development to start
from requirements but
does not
enforce the separation of external system behavior (the "what"
of
requirements specification) from internal structure (the "how" of
design). Intertwining of
"what" and "how" is
enabled [4]. The
Operational Specification is encouraged to separate
development into
problem
oriented and implementation oriented
phases. DMS development
paradigm is made
flexible enough for conventional, prototyping and
operational specifications, and
hybrid paradigms. The DMS paradigm
definition
facility is explained below.
EduSET:
Educational Software Engineering Tool
Page 3
A key
feature is the
DMS automation of
all low level
configuration
management operations to form a process
parallel to the
development process. This is
critical to both prototyping and
operational
paradigms that usually are less controlled and much more
dynamic than
conventional development.
DMS treats verification,
validation and testing as a
process
parallel to the
development process. Testing can be
done both by
the
development organization and
independently by an
independent
verification
validation and testing contractor. The
administrative and
behavioral
issues can be experimented by EduSET lecturers and
students.
Testing may start immediately after the start of requirements, and a
background AI
component makes a
cross between development phases,
milestones and
deliverable items to
analyze the semantics of the
development
process. A flavor of DMS anomaly
analyses is shown by
the
following list
of anomalies produced by the AI component:
Warning: Requirements files size
= xy.z% <10%
Warning: Design files size = xy.z% <20%
Warning: Testing files size = xy.z% <10%
Warning: SQA files size = xy.z% <10%
Error: illegal original date for
milestone msno
Error: illegal revised date for
milestone msno
Warning: Developer approval of
milestone msno
without
SQA approval of msno-1
Warning: Developer approval of
milestone msno
without
Manager approval of msno-1
Warning: SQA approval of
milestone msno
without
Manager approval of msno-1
Error: illegal Developer approval
date for milestone msno
Error: illegal SQA approval date
for milestone msno
Error: illegal Manager approval date for milestone msno
Warning: SQA approval without
Developer approval of milestone msno
Warning: Manager approval without SQA approval of milestone msno
Warning: Manager approval without Developer approval of milestone
Warning: Overdue Manager Approval
of milestone msno
Error: SQA approval of Milestone msno without SQA plan!
Warning: SQA approval of
Milestone msno without CM plan!
Error: SQA approval of Milestone msno without Requirements!
Error: SQA approval of Milestone msno without Design!
Error: SQA approval of Milestone msno without Testing!
Error: Manager approval
of Milestone msno without Requirements!
Error: Manager approval
of Milestone msno without Design!
Error: Manager approval
of Milestone msno without Testing!
Error: No SQA approval of
Milestone 1!
Error: No Manager approval of
Milestone 1!
Error: No SQA approval of
Milestone 2!
Error: No Manager approval of
Milestone 2!
Warning: No SQA approval of
Milestone 3!
Warning: No Manager approval of
Milestone 3!
Nonexisting
milestone file: xxx
The
DMS testing phase follows the
IEEE CS standard
on test
documentation:
EduSET:
Educational Software Engineering Tool
Page 4
Software Testing Menu
(ANSI/IEEE Std 829-1983)
1 - Test Plan
2 - Test-Design
Specification
3 - Test-Case Specification
4 - Test-Procedure
Specification
5 - Test-Item Transmittal
Report
6 - Test Log
7 - Test-Incident Report
8 - Test-Summary Report
DMS automatically maintains
traceability matrices between
test cases and
requirements, and the reversed
requirements test cases
matrices.
DMS support for
IEEE CS standards is built-in. Optional
support
for military and corporate standards is enabled
by the DMS
template
interface. Also, DMS has a
callable interface to drive a
software
engineering environment and to provide
a kernel of library
functions for
future environments.
DMS includes special privileges for
SQA:
SQA Information Menu
0 - Verification and
Validation Plan (IEEE Std 1012-1986)
1 - SQA Plan (IEEE Std
730-1984)
2 - Configuration Management
Plan (IEEE Std 828-1983)
3 - SQA Checklist
All DMS
phases make across between
meta-information about
files
development phases, and provide a
unified file-utilities access
interface that
automatically triggers configuration management:
A - Add File
C - Copy Template
D - Delete File
F - Fetch File Version
M - Modify Information .. Rename File
R - Read File
U - Update File
V - View File Version
D M S P A R A D I G M D E F I N I T I O N F A C I L I T Y
The DMS paradigm definition
facility enables experimental
or
organizational life-cycle paradigms
to be defined.
Any number of
paradigm
phases may be defined. The phases may be
parallel. Paradigm
phase may be
enforced in a way that guarantees that
the next phase is
not started
before completion of the previous phase. The next phase
may be allowed to
start after the start of a
previous phase or any
logical combination of
such conditions.
EduSET:
Educational Software Engineering Tool
Page 5
EduSET
CONFOGURATION MANAGEMENT SUPPORT
A thorough understanding of
configuration management is a key
element in
the evolution of
a software engineer. This subject is
hardly
glamorous for a CS student,
but in real
life it is more
important than
any other issue in the author's opinion.
Configuration
management
cannot be learned by reading books or articles.
Neither can
it be learned
by using a configuration management tool
off-line. The
only way
to learn this
discipline is to be in the main stream of
software
development and support. The question is: "Do you have to
learn configuration management
at the expense
of a project before
growing to a
software engineer?". The greatest EduSET contribution is
to provide a
tool that integrates
configuration management with
software development
as a parallel real time process for education.
Configuration management support can be
grouped according to:
a.
Identification, see requirements 1, 2 and 3.
b.
Control, see requirements 4, 5 and 6.
c. Auditing requirement will
be part of the work procedures.
d. Status accounting, see
requirement 7.
A set of technical requirements
is numbered as 8-21.
1. Identification.
1.1 Unit Identification.
Identification has to identify the location of the
unit within
the whole
software structure. This means that a
hierarchical structure
has to be
supported.
1.2 GenerationMZ†
YÿÿA€ç‑omprised
the software development effort may be a
member
of various networks
and not only
be a member
in a tree
hierarchy. A
routine is, of course, a part of a larger program. This is
the main
tree structure that contains
it. But it is also a part of
'Invocation Network'
- the network that describes the CALLING paths. It
is
also connected to its specification, to
its creator, to its
maintaining group,
to change requests, to change implementation, to a
test file or
test procedure, and so on.
EduSET:
Educational Software Engineering Tool
Page 6
It is
necessary that all
these networks will be recorded and
various functions have to be able to access or modify them
using this
information or
being constrained by it.
3. Naming Options.
-
Synonyms for abbreviations intended
or for adaptation
to
different
environments.
-
Names that are
numbers only. (to facilitate retrieval
of
documents
that are known only by their serial numbers)
-
Long names.
-
Qualified names. This enable
the usage of identical names in
different
environments.
4. Change control.
4.1 Entering change
request according to a predefined form.
The
change has
to include also information about the other units that may
be influenced by the change and about milestones for
implementing the
change.
4.2 Decryption of the change after
it has been implemented.
4.3 Marking each
line in a
unit according to the change that
originated it.
4.4 Possibility of retrieving a
previous generation.
4.5 Organizing a variant out of pieces
from various structures and
generations.
5. Release Control.
5.1 Autoregression
Testing.
A process of autoregression testing will
be supported. In
this
process, a run of the
program is executed and the results are
compared to
standard results or to previous results. Reports of the
results are
sent to the interested parties according to a special list.
5.2 Release Information
Distribution.
Information concerning the
release must be
distributed
according
to a special list and
also according to certain
criteria,
such as all those
who use the unit released.
This service
is also
connected to
automatic mailing.
5.3 Approvals and Signatures.
The release of
the unit must be acompanied
by approvals.
These approvals are signed within the
system and the system checks that
this is being
done.
A request for such approval may be sent through the
mailing
services, and
a note of this request will be recorded in the data base.
EduSET:
Educational Software Engineering Tool
Page 7
6. Protection.
Protection from
unauthorized changes or access is necessary in an
environment
were a lot of people are working on shared material.
6.1 Network of access.
A network of access permission can be envisioned, where a
user will
be granted access according to user position in a network.
Thus, a manager will have access to the
information held by
employees.
A manager will have access also to
functions of the system according to
his or her
position.
6.2 Encryption.
Encryption and other safety measures will
be provided by EduSET.
7. Status Reports.
7.1 History of Changes.
Each change
is keyed to a
generation, according to the lines it
affected. For each generation (or variant) there has
to be a link to
the appropriate documentation that requested it and the
documentation
that describes its implementation. This
documentation can be retrieved
at will.
The
documentation can be requested
to be written in a
standard way
and additional documents
linked to it
- and later
retrieved.
7.2 Status of Implementation of a
Change.
A report
of the status of a requested
change can be produced.
This status is reported or deduced from
the operation upon the material
in the Development Library. Another report can be produced which will
contain
comparisons of intended targets and implemented ones.
ADDITIONAL REQUIREMENTS FOR
CONFIGURATION MANAGEMENT SOFTWARE TOOLS
___________________________________________________________________
8. Screen editor.
9. Connection to Word Processor and Forms
Manager.
This
connection will assure
standard reporting and
standard
documents. The standardization may be used by the system
for eliciting
'link' information
and linking the document to other documents. The
other documents can
be retrieved at will and
incorporated into each
other. Also a trace of information can be
established. For example -
for each
paragraph of a
specification document the source
of that
paragraph in
the requirement document
may be recorded
and later
retrieved.
EduSET:
Educational Software Engineering Tool
Page 8
10. Shared Data Management.
10.1 Special Protection
Shared data requires special protection
including authorization
to modify it
and additional approvals for releasing it. EduSET is
planned tp provide the protection.
10.2 Special Analysis.
Special analysis may be necessary for all the
parties using the
shared data.
Some assertions may have to be provided that those tests
and checks
have really been done. These assertions shall be provided by
EduSET configuration manager.
10.3 Message Switching.
Automatic messages to the parties which may be influenced by a
change to
shared data have
to be sent. The determination of
these
parties can
be done according to a predefined list and also according
to an analysis
of the type of change.
10.4 'INCLUDE' Facility.
Automatic inclusion of
shared data into
texts has to be
provided. This inclusion releases the engineer from
tedious repetitive
tasks, and
also assures the uniformity of the shared data.
10.5 'INCLUDE' with Modifications.
Some inclusions may
have to be
modified with appropriate
parameters as to make them comply with the special
demands of the unit
they are
included into. In that respect it may be thought of as a MACRO
facility. But this macro is intended to operate within
a unit and not
on the level
of the system alone.
10.6 Examples of Common Data.
- Program unit interfaces.
- File descriptions.
- Common tables.
- Global variables.
- Data Base descriptions.
- Common paragraphs of documents.
11. Mailing.
11.1 Recipient Lists.
A means of automatic mail (inclusion in the directory of a
user of a
document or a note concerning him) has
to be provided. The
mailing list may be
prepared in advance or in special
cases may be
provided by a EduSET analysis of the networks concerning message being
requested.
EduSET:
Educational Software Engineering Tool
Page 9
11.2 Check for Receipt.
In order
to assure that
some attention was
granted to
important messages, an
answer might be
requested within a certain
period of
time. Automatic checking of this answer including the very
fact that it
was indeed sent can be done.
12. The Objects to be Managed.
12.1 Types.
- Documents.
- Source code.
- Test files.
- Object modules.
- Data files
- Computer procedures.
- Libraries
- Other types readable by
machine or by man.
12.2 Coordination of Objects.
Some of the objects have to
be coordinated. An object module
has to be
coordinated with the appropriate version of the source. Some
of the
objects have to
be coordinated to external
objects such as
compilers, operating
systems versions or
equipment. Appropriate
information
has to be held and any change to such an
object has to be
checked for
consistency and appropriate messages sent.
13. Easy User Interface.
The users
may be of
various levels: a user who uses
the
system only
sometimes, or a user who uses it permanently - so the user
interface has
to be able to adapt to these various needs.
14. Macros and Command files.
For repeating tasks or complicated
tasks, a macro
facility has to
be
provided. This macro is composed of system commands that can be
changed for
any specific request according to parameters.
15. Statistics Gathering.
Automated statistics gathering
to support quantitative
software
models such as software reliability measures, quality metrics,
complexity
measures and cost evaluation are crucial.
User control over
what
statistics are gathered has to be determined.
16. Functions that operate on structures.
As mentioned earlier a network
support has to be provided.
This means - functions like 'COPY',
'DELETE', and other operations have
to be able to
operate collectively upon a group of
units according to
various access
criteria.
EduSET:
Educational Software Engineering Tool
Page 10
17.
Central Data Dictionary.
The items
handled in the development effort
can have standard
definitions and
names. This standardization can enhance communication
and facilitate a cross reference of the
location where these items are
used.
18. Compression.
19. Difference Report.
A report
describing the difference between
two texts is required.
This report describes the difference in
terms of lines that are deleted
or added
to one text
in order to produce the other. Special effort
will placed on
intelligent comparators [5].
20. Backup Facility.
The Central Development
Library holds the
result of the whole
development effort. Therefore special care
has to be
given to
preserving it.
Also in the case of accidental deletion or modifications
of the library
on the disk in a way that the standard rollback facility
can not
remedy (by reverting to a
previous generation), a version of
the library
held elsewhere (probably on tape) can be used.
21.
Graphic Output.
Business graphics of statistics
gathered will be provided by EduSET.
EduSET
SOFTWARE QUALITY ASSURANCE FUNCTIONS
Software quality assurance is a
separate EduSET category with
privileges
to define, check and approve
milestones, and conduct the
auditing
function for configuration management. A
template facility is
given for quality assurance to define
its checklist. A default DMS
checklist is
shown, see also
[3]:
EduSET:
Educational Software Engineering Tool
Page 11
SQA AUDIT CHECKLIST
____________________
State Yes/No for the
correctness of:
No: Criteria
: Y/
-----------------------------------------------------------------------
DMS Development Phases
----------------------
1.
Requirements
:
1.1 Functional Requirements :
1.1.1
Inputs/Processing/Outputs :
1.1.2
User/Hardware/Software/Communication Interfaces :
1.1.3 Constraints & Error
Handling :
1.2 Performance Requirements :
1.3 Attributes (Security,
Maintainability) :
1.4 Other Requirements (Data Base,
Operations, Site Adaption) :
1.5 Characteristics of Good
Software Requirements :
1.5.1 Complete :
1.5.2 Verifiable :
1.5.3 Consistent :
1.5.4 Modifiable :
1.5.5 Traceable :
1.5.6 Useable During The
Operation and Maintenance Phase :
1.6 Standards Compliance (IEEE Std
830-1984) :
2.
Design -- Characteristics of Good Design :
2.1 Identification of required
resources :
2.2 A baseline for configuration
control :
2.3 Means of assessing the impact
of requirements changes :
2.4 Means of verifying
requirements compliance :
2.5 Means of facilitating maintenance
activities :
2.6 A formal description to
generate test specifications :
2.7 A baseline design from which
to program :
2.8 Means of measuring and
quantifying design complexity :
2.9 Rationale of design
choices :
2.10 Standards compliance (IEEE Std
1016-1987) :
3.
Testing
Compliance to IEEE Std 829-1983 for Software Test Documentation:
Compliance to IEEE Std 1008-1987 for Software Unit Testing :
3.1 Test Plan
:
3.2 Test-Design Specification :
3.3 Test-Case
Specification
:
3.4 Test-Procedure
Specification
:
3.5 Test-Item Transmittal Report :
3.6 Test Log :
3.7 Test-Incident
Report
:
3.8 Test-Summary Report :
EduSET:
Educational Software Engineering Tool
Page 12
4. Good Programming Characteristics:
4.1 Top Down
Programming :
4.2 Modular Programming (unit size
1-2 pages) :
4.3 Structured Programming :
4.4 Strong Typing Enforced :
4.5 Use of High Level Standard
Language :
4.6 Information Hiding (package .. body) :
4.7 Low Program Unit Complexity
(McCabe cyclomatic measure<=10):
4.8 Programming
Readable/Documentation Sufficient
:
4.9 Each Program Unit Implements
Single Function :
4.10 No Side-effect Communication Between Program Units
:
5. Standards Compliance of User
Documentation (IEEE P1063) :
6. Conforms to Software Quality
Assurance Plan, IEEE Std 730-1984 :
7. Conforms to Configuration
Management Plan, IEEE Std 828-1983 :
8. Software Verification and
Validation Plans, IEEE Std 1012-1986 :
9. Conforms to Software Reviews and
Audits Draft Standard, IEEE P1028:
10. IEEE Std
982-1987 for Measures to Produce Reliable Software :
11. IEEE P1061 Standard for Software
Quality Metrics Analysis :
EduSET
ARCHITECTURE LAYER II: SOFTWARE TOOLS INFORMATION
EduSET
Educational Software Engineering Tools is a commercial
project to
produce and mass distribute a book and a software tool with
common computer aided
instruction interface,
information and canned
demonstrations of
software engineering tools
and supporting
methodologies. CASE vendors and other interested parties are invited
to make
submissions.
Submissions will be without
cost or obligation. The media is
5.25" 360Kb
IBM PC floppy disks.
A disk will have read.me
file
explaining its
contents. All commercial information
will be restricted
to a file
named license.doc. Files may be text
files cleaned from word
processing symbols and
special files for
demonstration. A valid
demonstration
file is any ASCII file that can be
supported by DOS 3.x
ansi.sys
device driver and split into 80-column wide 22-row long pages
(2 rows of a 24 line ANSI VDT terminal
are reserved for control). The
page
separator will be a unique
combination of two
characters: $x.
Interested parties may request a sample
diskette.
Observe: Software tools may run on any computer or
operating system.
However, the
information submission format
is IBM PC DOS
floppy
diskettes.
EduSET:
Educational Software Engineering Tool
Page 13
Companies or
individuals interested in making
a submission to EduSET
may contact
Ben Livson, EduSET author, Ultraware Limited:
+972-3-341366, P.O. Box 367, Kiryat Ono 55102, Israel.
USA Telex: 4900004722 and INC Dialcom E-Mail 05:GLU750.
REFERENCES
1 Ben Livson, Future Software
Development Management System Concepts,
ACM SIGSOFT
Software Engineering Notes, vol 12 no 3, July 1987.
2 William W. Agresti,
New Paradigms for Software Development, IEEE
Computer Society Order Number 707,
1986.
3 IEEE Software Engineering Standards,
(C) Copyright 1987 by
The Institute of Electrical and
Electronic Engineers, Inc
345 East 47th Street, New York, NY
10017, USA.
4 W. Swartout
and R. Balzer, On the Inevitable Intertwining of
Specification and Implementation,
Communications of the ACM,
July 1982, pages 438-434.
5 W.F. Tidy, The string-to-string
connection problem with block
moves, ACM
Transactions on Computer Systems, 2-4 November 1984,
pages
309-321.
PUBLICATIONS THAT HAVE
INFLUENCED EduSET
6 R. Hurst,"CASE
System Near Fruition", Computerworld Focus, July 1987
7 S. Kolodziej, "User
Interface Management
System", Computerworld
Focus, July 1987.
8 R. Poston, "Charter for the IEEE Computer Society's
Task Force on
Professional Tools", IEEE
CS Software Engineering
Standards
Subcommittee status report, August
14, 1987.
9 VAX/VMS Software,
Language and Tools Handbook,
Digital Equipment
Corporation 1987.
10 W.R.
Cowell and W.C.
Miller, "The TOOLPACK Prospectus", Argonne
National Laboratory, TM 341,
September 1979.
11 M. Dowson, "ISTAR - An Integrated
Project Support Environment", ACM
SIGPLAN Notices, vol. 22 no. 1,
January 1987.
12 IEEE
P1074 Standard for Software Life
Cycle Processes, to be
balloted in
1989.
EduSET:
Educational Software Engineering Tool
Page 14
AUTHOR BIOGRAPHY
Dr. Ben Livson is the co-founder and
president of Ultraware
Ltd, an
Israel-based firm that
provides training and
consulting
services and
develops software tools with special emphasis on software
quality
assurance, testing and configuration management.
Ben Livson was brought to Israel in 1977 by
Israel Aircraft
Industries Ltd to establish the first
software quality assurance
group
for computer
embedded systems, a group that he managed until 1986.
Ben Livson
has fifteen years
of software engineering
experience
including major assignments as:
1. SQA manager of operational flight
programs and dynamic simulation and
integration
projects.
2.
Manager of
software testing projects for computer embedded systems,
communications
software and operating system.
3. Developer of a computerized unit
development folder and configuration
management
tools.
Ben Livson is an air force and university lecturer. He has
chaired the
software quality assurance sessions of the fourth and fifth
international Israeli Quality
Assurance Conferences, and he has
published over
twenty papers.