Documente Academic
Documente Profesional
Documente Cultură
Tutorial Abstract
INTRODUCTION
The field of Software Engineering has undergone some of the most profound changes in the last
decade.
In recent years, the National ACM Conferences have been giving increasing attention to
Software Engineering --"Structured Program Planning
and Design:
Standardization Needs" (ACM '79 Detroit) and "More on Structured Design" (ACM '80 Nashville).
i.
Structured Requirements
2.
Structured Analysis
3.
Structured Design
4.
Structured Programming
5.
Walkthroughs
6.
Top-Down Implementation
7.
Software Tools
8.
Software Metrics
OVERVIEW
According to Barry Boehm, "Software Engineering
is the means by which we attempt to produce all of
this software in a way that is both cost-effective
and reliable enough to deserve our trust .... (It is)
169
Tutorial Abstract
170
Tutorial Abstract
To assist with the requirements, design, construction, and testing of systems the CASED would
provide models.
These would graphically describe
a conceptual design and would be used as a baseline
for a system or subsystem development. For any
given firm, the majority of software development is
fairly similar; the models would be standard for
the firm. The productivity gains from such a
system are great.
A good CASED system must also consider the management needs for planning and project management.
Within the system would be tools to assist with the
major planning functions, including:
Administrative planning and reporting
Conversion and implementation plans
Cost and time estimating
Documentation
Project management controls and reporting
Vendors are now providing a long line of products: language generators, data dictionaries, data
bases, screen and report generators, simple model
languages, "user-friendly" systems, multi-purpose
application packages, and on-line, interactive
tools. The problem is that each of these only
attacks a very small piece of the problem.
Operational strengths and problem areas were discussed. Specifically, the database methodologies
were seen as being compatible with the structured
design techniques, the database methodologies were
shown to be valuable as a DBMS selection tool, and
the structured design techniques could be used for
managing a database design project. The conflicting
demands of efficient database design versus optimal
database design were viewed as problem areas, as
171
Tutorial Abstract
i.
2.
3.
4.
5.
DOCUMENTATION TECHNIQUES
Until recently, much of the computing community
demonstrated little or no knowledge of the importance documentation should have in the systems
development effort. Belying this was the attitude
that design, coding, and implementation of new
systems was more important and there was not time
to be concerned with documentation. Documentation
remains an ill-defined, undesirable chore to be put
off as long as possible, if not indefinitely. It
is still not realized by all software professionals
that a major contributor to the problems encountered
is the inadequacy or non-existence of documentation.
Every module in the system must have been invoked at least once, though not all possible
combinations of modules may have been executed.
Every instruction must have been executed at
least once, though not necessarily with the
full range of data elements.
Every decision must have been exercised,
though not all combinations of decisions
may have been exercised.
A certain number of known bugs might be
secretly "seeded" in the system, and the
number of seeded bugs found during the testing process can determine the "effectiveness"
of the test data.
Further, all testing procedures should include a
description of the test, complete with test data and
expected results. It is obvious that it is impossible to generate every test case for every item in
the data dictionary or for every data element.
Research has shown that errors tend to cluster,
particularly at the "boundary"conditions. The test
i.
2.
3.
In today's environment, good documentation is essential. Documentation must begin when a program or
system is first conceived and continue throughout
the project life cycle. Good documentation cannot
exist without management commitment, well-conceived
172
Tutorial Abstract
REFERENCES
A logical, systematic approach toward the generation, control, handling, filing, referencing,
and retrieving of documentation is both desirable
and critical in software engineering.
During the
development of a project, project team members will
want up-to-date, easily accessible documentation.
The programmers and engineers "in the field" need
quick turnaround on working documents they use
daily. As these documents mature and stabilize,
they may be turned over to those responsible for
production documents.
Three significant distinctions are:
[i]
[2]
[3]
McClure, C.; "Developing software with maintainability in mind," 1981 ACM COMPUTER
SCIENCE CONFERENCE, ACM, February 1981.
[4]
[5]
[6]
[7]
[8]
[9]
173
[i0]
[ii]
[12]
[13]
[14]
[15]
[16]
[17]