[comp.software-eng] Software Engineering Digest v6n5

soft-eng@MITRE.MITRE.ORG (Alok Nigam) (02/10/89)

         Software Engineering Digest     Thursday,  9 Feb 1989
                           Volume 6 : Issue 5

                            Today's Topics:

                        Re: Software Engineering
                        Merging two or methods?
                 Looking for Engineering Software "CC"
                        Re: Practical Experience
                   Pascal Programs -- Metric Analysis
                    User Interface Specification...
                       Certification of Software
          Distinguished Lecture Series talk by Butler Lampson

------------------------------------------------------------

Date: 4 Feb 89 17:06:27 GMT
From: hubcap!billwolf@gatech.edu  (William Thomas Wolfe,2847,)
Subject: Re: Software Engineering

>From article <530@sirius.UUCP>, by tarry@sirius.UUCP (Steve Tarry):
> Exposure to the hardware side of computing is but *one* aspect of what
> distinguishes a software engineering education from a computer science
> education.

   I'm the teaching assistant for the undergraduate Software Engineering
   course here at Clemson, at which we use "Software Engineering Concepts"
   by Richard Fairley (of the now-defunct Wang Institute of Graduate Studies)
   as one of our texts; I'd like to point out that neither this text, any
   other text we use, nor any software engineering text I've ever run across,
   gives "exposure to the hardware side of computing".  It DOES cover:
   Planning A Software Project, Software Cost Estimation, Software
   Requirements Definition, Software Design, Implementation Issues,
   Modern Programming Language Features (Ada), Verification and Validation
   Techniques, and Software Maintenance.  These are in no way hardware topics.

   The field of software engineering is INDEPENDENT of the realm of
   application; hardware-oriented applications form a subset of the
   set of all applications, and one may perhaps take courses which
   lead to a specialization in that particular application area, but
   many other application areas do exist.  Any application area can
   benefit from the utilization of software engineering principles,
   but software engineering is in no way tied to any particular area
   of application.

> It has long puzzled me why there are so few masters degree programs in
> Software Engineering and even fewer (none that I know of) bachelors
> programs.

   Puzzles me, too.  I tried to find such a Master's program, received
   a nice letter from the Wang Institute saying they were being munched
   by Boston University, and ultimately wound up here at Clemson, which
   has a very nice set of rather practically oriented CS courses.  But
   there really should be more alternatives; Clemson was about the only
   other really interesting place I could find.

------------------------------

Date: 2 Feb 89 10:03:29 GMT
From: mcvax!ukc!axion!marvin!nkings@uunet.uu.net  (Nick @ The End of Time)
Subject: Merging two or methods?

Has anyone come across papers dealing with the combination of two (or more)
methods, such as JSD + CORE, SSADM + SDL, etc, etc, etc :]

------------------------------

Date: 4 Feb 89 22:06:13 GMT
From: jarthur!ftrue@uunet.uu.net  (Dr. Destruction)
Organization: Harvey Mudd College, Claremont, CA
Subject: Looking for Engineering Software "CC"

I am looking for a Systems Engineering program called "CC" which runs on an
IBM PC. I am currently using a version of CC (3.51A) that was written by
Peter M.  Thompson, Ph.D. and Systems Technology. The program is a systems
analysis program which does such neat things as feedback analysis, bode
plots, nyquist plots, laplace and z transforms, matrix systems analysis,
root-locus and siggy plots, etc. I believe it was developed at Caltech, but
in poking around I have failed to locate either Thompson or Systems
Technology.

        Any information on this would be appreciated immensely. I am
also interested in finding other software packages for the PC that do
similar types of systems analysis. Please E-mail any responses. Thanks!

_________________________________________________________________________
Frederick True                   ftrue@jarthur.UUCP
Harvey Mudd College              ftrue@hmcvax.BITNET
- -------------------------------------------------------------------------

------------------------------

Date: 5 Feb 89 21:26:52 GMT
From: jerbil@csvax.caltech.edu  (Stainless Steel Gerbil [Joe Beckenbach])
Organization: California Institute of Technology
Subject: Re: Practical Experience


In his article <530@sirius.UUCP> Steve Tarry writes:
>It has long puzzled me why there are so few masters degree programs in
>Software Engineering and even fewer (none that I know of) bachelors
>...

        It frankly puzzles me that people are puzzled at the lack of
masters and bachelors programs for Software Engineering. Why? To my mind,
this profession of computer programming is simply FAR TOO YOUNG!!
        As I and several people at the USENIX conference agreed in informal
gabfests after the paper presentations, there is simply too little 'real
formal content' to justify a large amount of learning. I mean, look at
this profession and compare it to another profession; I'll use architecture,
since my father is an architect and I grew up surrounded by the tools and
some of the culture of that profession.

        Architecture began with building simple little huts. With a few
simple tools and an observant mind, someone could put up a decent dwelling.
We're talking about something that anyone from mid-Stone-Age on could and
can do. Larger buildings, such as agricultural storage silos and cistern
systems could be designed by one person, but implementation and maintainence
required multiple people. And very few first designs of anything work;
that's why architects needed to look at the works of the previous generations
in making their buildings-- see what worked in the past, and adapt it.
        Once mathematics and physics got together, architects began acquiring
tools to analyze structure stresses, materials' limitations, and other data.
This allowed further design and weakened the reliance on trial-and-error
and tradition in the course of designing buildings over an architectural
group's career. These tools were nurtured, strengthened, and extended by
the training process of the student architect; over the course of the centuries
the simple compass-and-straightedge-and-intuition approach received the
augmentation of mathematics for structural stress analyses, water delivery,
air circulation, and so on.
        The more complex the profession, the longer it takes to train a new
member up to the minimum acceptible standard. For architects in the Middle
Ages, I believe that the apprenticeship period covered the same amount of
time, but had less material to pass on, and a lower rate at which it could
pass on the essentials of the craft.

        I think you can see the parallels I am about to draw. Anyone with
access to the right materials can craft toy programs on a machine, and one
with an observant mind can do something useful consistently. The larger
projects require more discipline, training, and background; but still a
well-organized person can go a long way towards finishing the smaller stuff,
and getting the people to start a larger project.
        However, the fundamental difference is that we have had computers for
about a generation or so. Architecture has had several millenia. 'Software
Engineering' has the benefit of the past experience of architecture's methods,
and the other engineering disciplines as well-- but we simply have not had
the time yet to become a coherent profession. This touches on many central
points of 'Computer Science' debates: should we be licensed? what should be
the ethics of the profession? what is a proper term for what we do?
        Back to 'Software Engineering' in particular, it is still possible
and quite commonplace for a major project to be haphazardly given, produced,
distributed, and maintained. And, in general, no one cares one way or the
other, since the goods are somehow being delivered. But is, in the main,
software being engineered, to a rigor even partly approaching other fields?
No. Is computing actually firmly grounded as a science? Yes, but not in most
jobs which are associated with 'Computer Science'.

        So, my view of it all is that we have a smattering of those who are
professionals in the sense that most architects, doctors, and the like are
professionals; some pretend to it, others strive for it, and some ignore it
entirely. [I could give some examples in each category, but that's overkill.]
Architecture, civil engineering, and other disciplines have had this stage;
'social science' and economics are doing so as well, and are in slightly
different stages of the process of acquiring the rigor, scholarship, and
discipline necessary to be a profession in the same class as the current
civil engineers, architects, and doctors.


>>     ...I have often wondered how well pure CS people perform at
>> tasks (like software engineering ?) that require a moderate (to
>> in-depth) level of hardware understanding.

        I would say it depends on the programming skill of the CS guy.
Mind you, to me, real CS has heavy use of mathematics, and need not
understand the hardware or hardware interface to either be a software
engineer or to provide insights which could be best expressed in hardware.
I cite Prof. Chuck Seitz' work leading to the Caltech Cosmic Cube, and
all its derivative works. [Aside: these are all based on computational
nodes with separate memory for each CPU, and communication between nodes
by passing messages between nodes along wiring.] Besides, is it not true
that the hardware simply allows the theoretical von Neumann machine to
be expressed and used as something that approaches a reasonable speed?

>Exposure to the hardware side of computing is but *one* aspect of what
>distinguishes a software engineering education from a computer science
        Glad to see someone points out a major distinction!

>education.  In illustration of some other aspects, I'll mention a few
>of the features of the Masters of Software Engineering program that I
>recently completed (at the now-defunct Wang Institute of Graduate Studies):
>
>--Two years of work experience with software was required for admission;
>  students fresh out of a B.S. program were not accepted.
        Lets the student understand and find the common core of what he
had been taught-- this should already be part of the BS program!!!

>--Thorough grounding in computer science fundamentals (e.g, discrete
>  math and data structures) was required.  As one who got his B.S. in
>  the Old Days, I found meeting the admissions requirements almost as
>  valuable as the degree program itself.  Then the first course in
>  the program was APPLICATION (emphasis mine) of Formal Methods, such
>  as classifying real problems according to complexity theory.
        Again, another hole in most BS programs.
>
>--Group work on projects was required.  In particular, instead of an
>  individual thesis (which was not an option), one had to develop
>  and deliver two software products with teams of fellow students.
        Another hole missing in BS programs.
>
>--Exposure to non-technical aspects of software development was an
>  essential part of the degree.  For example, a course in software
>  project management was required, not to mention the lessons learned
>  in the group projects.
        Ditto.
>
>--There was a heavy emphasis on techniques (e.g., structured analysis
>  vs. Jackson's methods) and tools (from spreadsheets to compiler
>  generators).
        Ditto.
        What I am seeing is very much like what is going on with the
'social sciences': it is in the descriptive phase of its existence, about
where physics was before Sir Isaac Newton's generation. What seems to be
happening is more like a semi-technical general-education degree rather
than a real embryonic 'software engineering' or 'computer science' discipline
(looking as a whole).

        To fill the current gaps as a student:
>Use your electives to take the courses required of "real" engineers
>(Electric Circuits, Thermodynamics, Statics, ...).
 And _not_ just EE! Spread it around. And add math as well. An engineer without
 the proper mathematical tools is not as worth hiring or working alongside.
>Work as a programmer summers or between degrees or in a co-op program.
 This is HIGHLY recommended by most; I think it should be REQUIRED.
>Develop a program useful to others (including the users manual!) as part
>of your thesis.
 Again, recommended, though most of the seminal theses I've seen have been
 still at the level of first prototype.


BEFORE YOU MAIL ME A FLAME OR POST ONE:
        This is my own opinion, based on my own observations, the conversations
I have had with other in several fields, professions, and walks of life.
I am in no way, shape, or form, attempting to insult the integrity,
intelligence, or reputation of any individual, group, or organization.
If I offend, please consider why, start correcting the problems, and then
think before flaming.
        I'd rather have a well-thought-out roasting over the coals than a
flash-in-the-pan flame.

------------------------------

Date: 6 Feb 89 15:24:57 GMT
From: hp-sdd!ncr-sd!ncrcae!PEDEV!pruitt@hplabs.hp.com  (Daniel Pruitt)
Organization: NCR Corp., Engineering & Manufacturing - Columbia, SC
Subject: Pascal Programs -- Metric Analysis

      My thesis is a Complexity Analysis of Software.  I am using very
   basic metrics that were developed by Halstead and McCabe.  I need
   working Pascal programs to collect various complexity metrics.  I
   intend to compare the results of my data with results published
   in the literature.  This study is merely data exploratory analysis.
   I am not attempting to validate these measures, but to see if I come up
   with similar results.

      The programs I need must be programs developed in an undergraduate
    or a graduate class.  Please send a description of the class along
    the Pascal source code.

Daniel Pruitt         ...!ncrcae!pedev!pruitt
                      pruitt@pedev.columbia.ncr.com
                      Work: (803) 739-7360
                      Home: (803) 254-7024


------------------------------

Date: 6 Feb 89 07:19:53 GMT
From: munnari!basser!nswitgould!hades!hal@uunet.uu.net  (Hanif A. Ladha)
Organization: Ausonics Pty Ltd, Sydney, Australia
Subject: User Interface Specification...

I am in need of a formal method by which I can define User Interfaces.
Would appreciate any info on this matter. Please e-mail, and I will
summarise to the net if applicable. Thanks in advance.

Hanif.
- --
$ Hanif A. Ladha         ACSnet: hal@hades.nucleus.oz
$ Organisation: Ausonics Pty Ltd 16 Mars Road   Voice:  +61 2 428-6480
$               Lane Cove NSW 2066 AUSTRALIA    Fax:    +61 2 428-3990
$ Disclaimer:   "Opinions not necessarily that of the Organisation"

------------------------------

Date:    Wed, 08 Feb 89 12:08
From: "H.Ludwig Hausen +49-2241142426"            <HAUSEN%DBNGMD21.BITNET@CUNYVM.CUNY.EDU>
Subject: Certification of Software

Hello netters, we are going to start a European
initiative on software certification (SWC) and therefor we would
appreciate to receive any information on
 - needs for SWC
 - objectives for SWC
 - effective procedures for SWC
 - tools for SWC
 - who is doing SWC
 - who should  do SWC
 - etc.
Certification, in our view, includes all methods and procedures do
validate, verify, test examine, measure or  assess software as a
product or software beeing developed by a 'certified' development
process.

Thanks for any help.
 H.  L U D W I G    H A U S E N      ..................................
:                                    Telephone +49-2241-14-2440 or 2426:
: GMD Schloss Birlinghoven           Telefax   +49-2241-14-2618 or 2889:
: D-5205 Sankt Augustin 1            Teletex   2627-224135=GMD VV      :
:        West  GERMANY               Telex     8 89 469 gmd d          :
:                                    E-mail    hausen@dbngmd21.BITNET  :
:                                              hausen@kmx.gmd.dbp.de   :
 . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . .
:    GMD (Gesellschaft fuer Mathematik und Datenverarbeitung)          :
:    German National Research Institute of Computer Science            :
:    German Federal Ministry of Research and Technology (BMFT)         :
 ......................................................................

------------------------------

Date: Wed, 8 Feb 89 12:25 EST
From: GERAN@cs.umass.EDU
Subject: Distinguished Lecture Series talk by Butler Lampson


               UNIVERSITY OF MASSACHUSETTS AT AMHERST'S
          COMPUTER AND INFORMATION SCIENCE (COINS) DEPARTMENT
                      DISTINGUISHED LECTURE SERIES

                               presents

        "How to Write Specifications for Distributed Storage Systems"

                               a talk by
                             BUTLER LAMPSON
                      Corporate Consulting Engineer
         Digital Equipment Corporation's Cambridge Research Laboratory

                                4:00 p.m.
                        Monday, February 13, 1989
                            20 Goessman Hall
                              UMass/Amherst
                  Light refreshments served at 3:30 p.m.

*******************************************************************************
               For more information, please call (413)545-2744
                   or send e-mail to GERAN@cs.umass.edu




------------------------------

End of Software Engineering Digest
**********************************