🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.specification
Article #233

Re: Difference between Spec and Code?

#233
From: Jacob L. Cybulski
Date: Fri, 09 Nov 1990 03:46
64 lines
4037 bytes
In article <9169@latcs1.oz.au>, I gave a description of a constraint-based
program development in which you can assume the SPECIFICATION to be a set of
constraints the PROGRAMS have to adhere to. Such constraints could either be
declarative (WHAT) or procedural (HOW).

From article <1990Nov08.035857.6734@comp.vuw.ac.nz>, by lindsay@comp.vuw.ac.nz (Lindsay Groves):
> 
> I don't understand what you are getting at -- could you elaborate?

In most of the SE literature it has been assumed that specifications must be
structured around WHATs and the designs and programs should provide the
details of HOW. In any practical software development the three phases are
inter-leaved and the rigourous sequencing of WHAT and HOW could actually
hamper developers efforts. Thus, some newly proposed methodologies (e.g.
rapid prototyping, exploratory programming, etc.) attempt to introduce the
HOWs at the early stages of software development.

Let me give you a nice texbook example, ref. Barbee Teasley Mynatt "Software
Engineering with Student Project Guidance," Prentice-Hall Int. The book
introduces the problem of estimating and projecting ticket sales revenues
from art performances. The author adopts Yourdon and DeMarco methodology,
and introduces a series of neat developments steps leading from REQUIREMENT,
and SPECIFICATION through DESIGN to the IMPLEMENTATION and TESTING.
Somewhere between the design and implementation there is a SELECTION of the
programming language, i.e. Pascal. An interesting thing about this
particular example is that if a decision were made to implement the program
in a spreadsheet, then about 90% of the development effort could have been
avoided, i.e. detailed specs, flows, data dictionaries, then algorithm
elaborations, etc. To make it worse the technical requirements for the
project would allow the spreadsheet-based system to provide the correct
time-space efficiency. I do not deny the value of the text but I think that
this strong separation of WHATs and HOWs at the early stage of software
development was actually to the detriment of entire project.

And this was only an artificial and a very classical problem. With the
advent of computer technologies, executable specs, logic programming,
constraint-based languages, etc., we cannot rely on the nicely structured
methodology, we cannot even guarantee that the development will ever address
the issues of HOW, or that perhaps in some environments the WHATs and HOWs
will have to be specified together.

So, I propose not to separate the WHATs and HOWs, but rather to structure
projects around the refinement stages. At any stage the software product
consists of the set of organisation constraints related to the issues of
project management, i.e. its resources, milestones, deadlines, and plans;
requirement constraints outlining user goals, preferences and limitations;
and development constraints specifying the technology in use, i.e.
algorithms, data structures, tools and methods. Any of the development
stages could address a range of issues to some degree and refine them at a
later stage. The implementation is just the process of constraint
satisfaction and in case of certain programming languages (e.g. PROLOG),
consists in extending the set of constraints until its completion.

Jacob L. Cybulski

Amdahl Australian Intelligent Tools Programme
Department of Computer Science
La Trobe University
Bundoora, Vic 3083, Australia

Phone: +613 479 1270
Fax:   +613 470 4915
Telex: AA 33143
EMail: jacob@latcs1.oz.au
Technical Details
Message-ID: <9188@latcs1.oz.au>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!zaphod.mps.ohio-state.edu!samsung!munnari.oz.au!mel.dit.csiro.au!latcs1!jacob
References: <1990Nov08.035857.6734@comp.vuw.ac.nz>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!zaphod.mps.ohio-state.edu!samsung!munnari.oz.au!mel.dit.csiro.au!latcs1!jacob
From: jacob@latcs1.oz.au (Jacob L. Cybulski)
Newsgroups: comp.specification
Subject: Re: Difference between Spec and Code?
Message-ID: <9188@latcs1.oz.au>
Date: 9 Nov 90 03:46:12 GMT
References: <1990Nov08.035857.6734@comp.vuw.ac.nz>
Organization: Comp Sci, La Trobe Uni, Australia
Lines: 64