Forum for Advancing Software engineering Education (FASE)
Volume 9 Number 11 (118th Issue) - November 15, 1999

890 subscribers

Note:  If you have problems with the format of this document, try
<http://www.cs.ttu.edu/fase/v9n11.txt>

An HTML version of this issue is available at
<http://www.cs.ttu.edu/fase/v9n11.html>

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Table of Contents

   This Month's Topic: The Relationship Between Software Engineering
      and Other Disciplines
   Next Month's Topic: Top Ten Contributions of the Century
   January 2000 Topic: Coping with the Faculty Shortage
   February 2000 Topic: Top Ten Contributions - The Readers' Picks
   Call for Guest Editors and Topic Suggestions
   News Items
      ACM Blue Ribbon Licensing Panel Report URL
      Guidelines for Software Engineering Education Published by SEI
   Calls for Participation
      Fifth NASA Langley Formal Methods Workshop
      New SWEBOK Review Cycle - Call for Reviewers
   Position Openings
      Queen's University
      Texas Tech University - Clarification Fron Last Month
   Contact and General Information about FASE

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

This Month's Topic: Software Engineering Body of Knowledge (Update):
    The Relationship Between Software Engineering and Other Disciplines

FASE Issue coedited by:

Robert Dupuis
Coeditor, Guide to the Software Engineering Body of Knowledge
Director, Graduate Studies in Software Engineering,
Universite du Quebec a Montreal
dupuis.robert@uqam.ca

Pierre Bourque
Coeditor, Guide to the Software Engineering Body of Knowledge
Director, Applied Research
Software Engineering Management Research Laboratory
Universite du Quebec a Montreal
Bourque.Pierre@uqam.ca

First, we would like to thank Don Bagert and the editorial team
of FASE for giving us the opportunity to discuss an important
aspect of the Guide to the Software Engineering Body of
Knowledge (SWEBOK): Related Disciplines. Those who are not
familiar with the Guide to the SWEBOK project are invited to visit
the project's web site at www.swebok.org.

These disciplines are related to software engineering in the sense
that they are at the boundary of or overlap with software engineering
and graduates and practitioners are expected to be knowledgeable
in them, though the extent of this knowledge remains to be determined.

The Guide to the SWEBOK project is expected to deliver the
Stone Man version of the Guide next Spring, and we are currently
preparing for trial usage and experimentation of the Guide, notably
in the field of education. One of the challenges facing the users of
the Guide to the SWEBOK, is how to and which Related Disciplines
should be included in a software engineering curriculum. The texts
presented here provide partial answers.

The first contribution to this issue is by the editorial team of the
Guide to the SWEBOK (Robert Dupuis, Pierre Bourque, Alain Abran,
James W. Moore and Leonard Tripp).  This contribution describes
why the Guide to the SWEBOK project is investigating the issue
of Related Disciplines, lists what are the Related Disciplines
currently being considered and what source(s) were used to identify a
list of Knowledge Areas of these candidate Related Disciplines.

We then continue with excerpts concerning the issue of
Related Disciplines from the current draft Knowledge Area
descriptions or chapters of the Guide to the SWEBOK.
These excerpts were prepared by:

 - Stephen G. MacDonell and Andrew R. Gray from the
   University of Otago in New Zealand.
   They are the responsible for Software Engineering Management.

 - Guy Tremblay is a professor at the Computer Science department
   of the Universite du Quebec at Montreal, an expert on formal
   methods and the Knowledge Area specialist for Software Design.

 - Tom Pigoski is the author of a textbook on Software Maintenance
   and is responsible for the Software Evolution and Maintenance
   Knowledge area.

 - Dolores Wallace and Larry Reeker are researchers at the National
   Institute for Standards and Technology (US). They are responsible
   for the for Software Quality Analysis Knowledge Area.

 - John A. Scott and David Nisse are members of the Lawrence
   Livermore National Laboratory and are the Knowledge Are specialists
   for Software Configuration Management.

We then continue with a contribution to sent in by Randal Leavitt.
Randal Leavitt is a software specialist lucky enough (these are his
own words) to be living in "Silicon Valley North" during the software
revolution.

His primary interests embrace real-time applications and critical
system engineering where process, standards, and metrics are
essential. He uses GNU-Linux for all his personal computing and as a
result has become convinced that the Open Source philosophy is the
best hope we have for making computing beneficial to society.  You can
see a few of his ideas at:  http://fox.nstn.ca/~nstn1291

We finish the section on Related Disciplines with an excerpt from the
"Guidelines for Software Engineering Education" published by the
Working Group for Software Engineering Education and Training
(WGSEET) as a Technical Report CMU/SEI-99-TR-032 and
available from the SEI web site.

Please note that Dave Parnas was invited to contribute to the issue
and directed us to an article he already published on the matter:

Parnas, D.L., "Software Engineering Programmes are not Computer
Science Programmes", Annals of Software Engineering, vol. 6, 1998,
pgs. 19-37. Also available as CRL Report 361, Communication
Research Laboratory, McMaster University, April 1998. The article
is republished in the November/December 1999 issue of IEEE Software.

We recommend this article, since, as Dave Parnas says, he takes the
word "Engineering" in Software Engineering more seriously than some
others.

We sincerely thank the authors for their interesting and useful
contributions.  As you will see, the questions of what are the
Related Disciplines of software engineering and how much
knowledge in these Related Disciplines should be expected from
a software engineer is still very much open to debate.

Please feel free to send us your opinions and comments on the
questions discussed here, or on any other aspect of the Guide to
the SWEBOK project.

######################################################################

Related Disciplines Currently Being Considered by the Guide to the
Software Engineering Body of Knowledge Project

Sent in by:

Robert Dupuis
Pierre Bourque
Alain Abran, UQAM
James W. Moore, The Mitre Corp.
Leonard Tripp, Boeing Commercial Airplane

The Guide to the SWEBOK project (see www.swebok.org for
current status and deliverables) was established with five objectives:

1. Characterize the contents of the software engineering discipline.

2. Provide a topical access to the Software Engineering Body
   of Knowledge.

3. Promote a consistent view of software engineering worldwide.

4. Clarify the place of, and set the boundary of, software engineering
   with respect to other disciplines such as computer science,
   project management, computer engineering, and mathematics.

5. Provide a foundation for curriculum development and individual
   certification material.

In its current draft, the Stoneman Guide identifies ten Knowledge
Areas (in alphabetical order):

- Software Configuration Management
- Software Construction
- Software Design
- Software Engineering Infrastructure
- Software Engineering Management
- Software Engineering Process
- Software Evolution & Maintenance
- Software Quality Analysis
- Software Requirements Analysis
- Software Testing

Each Knowledge Area Description or chapter of the Guide
is intended to be ten or so pages in length.  Each description
contains several important components including:

- A hierarchical organization of topics along with a rationale
  for the breakdown and a succinct description of each topic:
- A list of reference materials
- A matrix relating the reference materials to the topics
- A selection of relevant knowledge areas from Related Disciplines

The distinction between Knowledge Areas and Related Disciplines
is important to the purpose of the Guide. The project will specify
Knowledge Areas, topics and point to reference material within
these Knowledge Areas that are regarded as core knowledge
for software engineers. It is recognized that software engineers
must also know material from the Related Disciplines, but
the SWEBOK project will not attempt to specify topics
and reference materials for these Related Disciplines.

The description of each SWEBOK Knowledge Area
will however identify relevant knowledge areas from Related
Disciplines. These knowledge areas from Related Disciplines
are merely identified without additional description or references.
This list of Related Disciplines and Knowledge Areas within
these Related Disciplines are seen as an aid to curriculum developers.

A document entitled A "Baseline for a List of Related Disciplines
for the Stone Man Version of the Guide to the Software Engineering
Body of Knowledge" was therefore prepared by the project's editorial
team, approved by the project's Industrial Advisory Board in March
1999 and submitted to the Knowledge Area Specialists. This document
can be downloaded from www.swebok.org.  The Knowledge Area Specialists
are responsible for writing the Knowledge Area Descriptions or
chapters of the Guide.

The objectives of this document are essentially two fold:

- establish a candidate list of Related Disciplines for the
  Knowledge Area Specialists
- identify from an authoritative source as possible a list of
  Knowledge Areas for each of these candidate Related Disciplines.

The details of how this candidate list of Related Disciplines was
established and their lists of Knowledge Areas can be found in
the document  and are too long to be included here.

The Related Disciplines currently being considered as well as
the source(s) that was used to identify a list of Knowledge
Areas for these Related Disciplines are:

Computer Science

The reference for this Related Discipline will be obtained through
the "Year 2001 Model Curricula for Computing: CC-2001".
To ensure proper coordination with this initiative, Carl Chang,
Joint Task Force Co-Chair is a member of the Guide to the
SWEBOK Industrial Advisory Board.

Mathematics

The Computing Curricula 2001 initiative will be the "conduit" to
mathematics. So far, we have not received such a list of Knowledge
Areas (Knowledge Units in the CC-2001 vocabulary), for
Mathematics but it is expected that CC-2001 will provide it.

Project Management

The reference for this Related Discipline is "A Guide to the
Project Management Body of Knowledge" published by the
Project Management Institute.  This document has been adopted
as an IEEE software engineering standard. The document is
available without any charge from  www.pmi.org.

Computer Engineering

A list of Knowledge Areas for Computer Engineering was compiled
from the integration of:

- The syllabus for the British licensing exam for the field
  of Computer Systems Engineering.

- The Principles and Practice of Engineering Examination -
  Guide for Writers and Reviewers in Electrical Engineering of the
  National Council of Examiners for Engineering and Surveying (USA).
  An appendix listed Computer Engineering Knowledge
  Areas for which questions should be put to the candidates.

- The Computer Engineering undergraduate program at the
  Milwaukee School of Engineering. This program is considered to
  be a typical example of an American accredited program by
  the director of the Computer Engineering and
  Computer Science Department at MSOE.

Systems Engineering

The list of Knowledge Areas for Systems Engineering was compiled
from:

- The EIA 632 and IEEE 1220 (Trial-Use) standards;
- The following paper: Stephen J. Andriole and Peter A. Freeman,
  Software systems engineering: the case for a new discipline, System
  Engineering Journal, Vol. 8, No. 3, May 1993, pp. 165-179;

- The material available on the INCOSE (International Council
  on Systems Engineering) website: www.incose.org;

- A curriculum for a graduate degree in Systems Engineering at the
  University of Maryland: http://www.isr.umd.edu/ISR/education/msse/;

- Three experts in the field were also consulted:
   - John Harauz, from Ontario Power Generation
   - John Kellogg from Lockheed Martin
   - Claude Laporte, consultant, previously with the Armed
     Forces of Canada and Oerlikon Aerospace.

- We intend to continue improving it notably as the INCOSE results
  are made available.

Management and Management Science

No definitive source has been identified so far for a list of
Management and Management Science Knowledge Areas relevant to
software engineering. A list was therefore compiled from:

- The Technology Management Handbook which contains many
  relevant chapters;

- The Engineering Handbook which contains a section on Engineering
  Economics and Management covering many of the relevant topics.

- The following article: Henri Barki and Suzanne Rivard, "A Keyword
  Classification Scheme for IS Research Literature: An Update", MIS
  Quaterly, June 1993, pp. 209-226.

Cognitive Sciences and Human Factors

The list of proposed Knowledge Areas for Cognitive Sciences and
Human Factors was compiled from the list of courses offered at
the John Hopkins University Department of Cognitive Sciences and
from the ACM SIGCHI Curricula for Human-Computer Interaction.
The list was then refined by three experts in the field: two from
UQAM, MM. Lefebvre and Bouchard and W. W. McMillan,
from Eastern Michigan University. They were asked to indicate
which of these topics should be known by a software engineer.
The topics that were rejected by two of the three respondents were
removed from the original list.

######################################################################

Related Disciplines and their Knowledge Areas Currently Being
Considered for Software Engineering Management

Sent in by:

Stephen G. MacDonell and Andrew R. Gray
Software Metrics Research Laboratory
University of Otago, Dunedin, New Zealand
Knowledge Area Specialist for Software Engineering Management

The following provides a listing of Knowledge Areas of the Related
Disciples that are relevant to the software engineering management
knowledge area.

Computer Science

Without some understanding of the fundamental concepts underlying
the activity of software development some areas of software
engineering management would be inaccessible or prohibitively buried
in computer science terminology and concepts. For example, many
software metric models require some understanding of data structures
as independent variables. Similarly, feasibility analysis requires a
basicunderstanding of computer science in terms of hardware
performance, storage devices, etcetera. The history of computing is
also useful when projects require some judgements on likely changes to
technologies in the industry.

Project Management

This is obviously a major component of the software engineering
management Knowledge Area.

Management

Many principles in managing software engineering projects are common
to generic management processes. These include personnel issues,
planning techniques and tools, budgeting, and project selection
methods (both under limited resources and between mutually exclusive
alternatives).

Cognitive Science

This discipline is mainly invoked here as part of quality assurance in
terms of usability. Other aspects making use of this discipline
include motivation, task allocation, and training issues.

Management Sciences

Many management science topics can be readily used without adaptation
in a software engineering management context. This especially includes
the use of modeling techniques.

######################################################################

Related Disciplines and Their Knowledge Areas Currently Being
Considered for Software Evolution and Maintenance

Sent in by:

Tom M. Pigoski, Technical Software Services (TECHSOFT), Inc.,
(TMPigoski@techsoft.com)
Knowledge Area specialist for Software Evolution and Maintenance.

The following provides a listing of Knowledge Areas of the Related
Disciples that are relevant to the software evolution and maintenance
knowledge area.

Computer Science
- Foundations
        Complexity analysis
        Complexity classes
        Discrete mathematics
        Program semantics
- Algorithms and Data Structures
        Basic data structures
        Abstract data types
        Sorting and searching
        Parallel and distributed algorithms
- Computer Architecture
        Digital logic
        Digital systems
        Machine level representation of data
        Number representations
        Assembly level machine organization
        Interfacing and communication
        Alternative architectures
        Digital signal processing
        Performance
- Intelligence Systems
        Artificial intelligence
        Agents
        Soft computing
- Information Management
        Database models
        Search Engines
        Data mining/warehousing
        Digital libraries
        Transaction processing
        Data compression
- Computing at the Interface
        Human-computer interaction
        Graphics
        Vision
        Visualization
        Multimedia
        User-level application generators
- Operating Systems
        Tasks, processes and threads
        Process coordination and synchronization
        Scheduling and dispatching
        Physical and virtual memory organizations
        File systems
        Networking fundamentals
        Security
        Protection
        Distributed systems
        Real-time computing
        Embedded systems
        Mobile computing infrastructure
- Programming Fundamentals and Skills
        Introduction to programming languages
        Recursive algorithms/programming
        Programming paradigms
        Program-solving strategies
        Compilers/translation
        Code generation
- Net-centric Computing
        Computer-supported cooperative work
        Collaboration Technology
        Distributed objects computing
        E-commerce
        Enterprise computing
        Network-level security
- Computational Science
        Numerical analysis
        Scientific computing
        Parallel algorithms
        Modeling and simulation
- Social, Ethical, Legal and Professional Issues
        Historical and social context of computing
        Philosophical ethics
        Intellectual property
        Copyrights, patents, and trade secrets
        Risks and liabilities
        Responsibilities of computing professionals
        Computer crime

Mathematics
- Discrete Mathematics
        Calculus
        Probability
        Linear Algebra
        Mathematical Logic

- Project Management
        Project Integration Management
        Project Scope Management
        Project Time Management
        Project Quality Management
        Project Human Resource Management
        Project Communications Management
        Project Risk Management
        Project procurement Management

- Computer Engineering
        Digital Data Manipulation
        Processor Design
        Digital Systems Design
        Computer Organization
        Storage Devices and Systems
        Peripherals and Communication
        High Performance Systems
        System Design
        Measurement and Instrumentation
        Codes and Standards
        Embedded Systems Software
        Computer Modeling and Simulation

- Systems Engineering
        Process
        Project Planning
        System breakdown structure
        Design
        Component specification
        Integration
        Maintenance & Operations
        Configuration Management
        Documentation
   Essential Functional Processes
        Development
        Test Distribution
        Operations
        Support
        Training
        Disposal
   Techniques & Tools
        Metrics
        Privacy
        Process Improvement
        Reliability
        Safety
        Security
        Vocabulary

- Management and Management Science
  Organizational Environment
        Organizational Characteristics
        Organizational Functions
        Organizational Dynamics
  Information Systems Management
        Data Resource Management
        IS Staffing
  Training
  Management Science
        Optimization
             Linear Programming
             Mathematical Programming
        Statistics
        Simulation

- Cognitive Science and Human Factors
        The Nature of HCI
             (Meta-) Models of HCI
        Use and Context of Computers
                     Human Social Organization and Work
            Application Areas
            Human-Machine Fit and Adaptation
        Human Characteristics
         Language, Communication, Interaction
       Computer System and Interface Architecture
                     Input and Output Devices
        Computer Graphics
        Development Process
        Design Approaches
        Implementation Techniques
        Example Systems and Case Studies

######################################################################

Related Disciplines and Their Knowledge Areas Currently Being
Considered for Software Configuration Management

Sent in by:

John A. Scott (scott7@llnl.gov)
David Nisse (nisse1@llnl.gov)
Lawrence Livermore National Laboratory
Knowledge Areas specialists for Software Configuration Management.

The following provides a listing of Knowledge Areas of the Related
Disciples that are relevant to the software configuration management
knowledge area.

Computer Science
- Information Management - Database Models
- Operating Systems - File Systems, Protection, Security
- Programming Fundamentals and Skills - Compilers, Code
  Generation

Project Management
- Project Integration Management
- Project Quality Management
- Project Risk Management

Computer Engineering
- Storage Devices and Systems

Systems Engineering
- Process - Requirements Definition, System Definition, Integration,
  Maintenance & Operations,
- Configuration Management, Documentation, Systems Quality
  Analysis and Management, Systems V&V, Systems Evaluation
- Essential Functional Processes ­ Development, Test, Distribution,
  Operations, Support Techniques and Tools ­ Metrics, Reliability,
  Security

Management and Management Science
- Organizational Environment - Characteristics, Functions, and
  Dynamics
- Information Systems Management - Data Resource Management

Cognitive Science and Human Factors
- Development Process - Design Approaches, Implementation
  Techniques, Evaluation Techniques

######################################################################

Related Disciplines and Their Knowledge Areas Currently Being
Considered for Software Design

Sent in by:

Guy Tremblay,
Universite du Quebec a Montreal (UQAM),
Department of Computer Science.
(Guy.Tremblay@uqam.ca)
Knowledge Area specialist for Software Design.

The following provides a listing of Knowledge Areas of the Related
Disciples that are relevant to the software design knowledge area.

Computer Science
- Foundations: complexity analysis; discrete mathematics;
  automata;  formal specifications.
- Algorithms and Data Structures: basic data structures;
  abstract data types; sorting and searching.
- Computer architecture: memory system organization and
  architecture; interfacing and communication.
- Information Management: database models; transaction
  processing; data compression.
- Computing at the Interface: human-computer interaction;
   multimedia.
- Operating Systems: tasks, processes and threads; process
  coordination and synchronization; file systems; networking
  fundamentals; security; protection; distributed systems.
- Programming Fundamentals and Skills: intro. to programming
  languages; programming paradigms; problem-solving strategies;
  code generation.
- Net-Centric Computing: distributed objects computing
  (DOC/CORBA/DCOM/JVM); enterprise computing;
  network-level security.
- Social, Ethical, Legal and Professional Issues.

Mathematics
- Discrete mathematics.
- Probability.
- Mathematical logic.

Project Management
- Project integration management.
- Project scope management.
- Project time management.
- Project cost management.
- Project quality management.
- Project risk management.

Computer Engineering
- Systems Design.

Systems Engineering
- Process: behavioral analysis; prototyping; system breakdown
structure; design; component specification.

Cognitive Sciences and Human Factors
- Computer Systems and Interface Architecture: dialogue architecture.
- Development Process: design approaches; evaluation techniques.

######################################################################

Related Disciplines Included in the Guidelines for Software
Engineering Education

Authors of the Guidelines:

Donald J. Bagert Texas Tech University
Thomas B. Hilburn, Embry-Riddle Aeronautical University
Greg Hislop, Drexel University
Michael Lutz, Rochester Institute of Technology
Michael McCracken, Georgia Institute of technology
Susan Mengel, Texas Tech University

Excerpt adapted from the "Guidelines for Software Engineering
Education" published by the Working Group for Software Engineering
Education and Training (WGSEET) as a Technical Report
CMU/SEI-99-TR-032 and available from the SEI web site.

The document recognizes the issue that related disciplines and
application domain are not to be confused. It suggests that a
curriculum should include at least the minimum from each following
discipline:

A. Computer Science Fundamentals:
-  Programming, data structures and algorithms;
-  Programming language concepts;
-  Computer organization
-  System software (process and resource management, concurrent
   and distributed computing, networking, and telecommunications)

B. Mathematics:
-  Discrete math;
-  Probability and statistics

C. Natural Sciences

D. General education
-  Communication (oral and written)
-  Humanities and Social Sciences
 

######################################################################

Software Engineering and its Related Disciplines

Sent in by:
Randall Leavitt

If we try to list the disciplines related to software engineering
we immediately encounter a problem - the list is too long.
A shorter list can be drawn up by asking what is not related
to software engineering - this list is empty. Software can
potentially be applied to every aspect of life and very little
of this code has been written. So there is lots to do and
tremendous variety in the tasks ahead.  How do we
approach this situation?

There are some generalizations that may help.  In daily life
"arm waving" is often efficient since it can be used to gain
agreement and direct action while minimizing communication
time.  Detailed elaboration of plans is often not efficient
because others cannot remember all the minutia anyway.
These daily life tactics do not succeed in software
production.  Computers cannot understand arm waving.
Computers can remember anything told to them once.
So it becomes worthwhile to take the time to look up all
the facts, arrange them sensibly, and give them to the
computer.  This creates a dilemma since the software
person has to use extremely anti-social behaviour to be
successful on the job, yet still be able to have a life and
deal with people.  The "geek" syndrome is one of the
symptoms of this tension.  So I would put Psychology and
Life Skills at the top of my list of related disciplines.
Software practitioners have to be able to resolve the
problem of having a life while working with computers.

Ethics is next.  Computer software can be applied to
military weapon systems, space exploration, accounting,
games, education, and on and on.  Every application is
good for some people, not so good for others.  Robotic
software reduces the cost of manufacturing which improves our
standard of living, and it eliminates jobs.  There are winners
and losers.  The softwarist has to decide how to participate
in this process.  For example, I am a proponent of the Open
Source approach for software discovery because the things
that I believe in (equal respect for everyone, community
centered cooperation, wealth redistribution) are better
represented in the Open Source community.  So my ethical
stance leads me to prefer some forms of software technology
over others.  Decisions about right and wrong have to be
made every day by software workers.  Ethics is important.

The philosophy of science, in particular the paradigm of data
collection, peer review, theory and evidence, and rational
progress, is essential for softwarists.  This is a major topic at
the moment because the software industry has mistakenly
adopted the model of "engineering" to try to understand and
explain what it is doing.  Instead, the industry should be using
the model of "scientific research".  When my customers ask
me to use new computers that I have never seen before and
apply new programming technologies that I barely understand
with a neophyte staff fresh out of school to develop an
application that no one ever imagined before, I am conducting
research.  I am not performing engineering.  When my boss
asks me for the schedule showing when we will be finished
I offer to draw up a schedule for curing cancer - that
seems easier to imagine than my current predicament.
Software source code has been likened to engineering
components with much resulting confusion (and loss of
efficiency) about intellectual property rights, quality
measurement, and liability.  A better approach is to liken
source code to scientific data which must be in the public
domain, peer reviewed, and reusable before we allow it to
affect our lives.  Much work is needed here to correct the
course.  I see the Open Source phenomena as the best
vehicle available for accomplishing this change, and so I am
vigorously promoting that point of view.  However,
discussions become difficult when people do not deeply
understand the philosophy of science and rational progress.
Consequently, I think this is a key knowledge area that
every softwarist must fully appreciate.

Once these broad areas have been addressed, i.e. Life
Skills, Ethics, and Science, the other related knowledge
areas are more technical in nature.  Softwarist interact
with computers, training them to serve people better.
Softwarists use programming languages, data sets, and
documentation to perform this work.  They must have a
deep, technical understanding of two areas to be effective:
Language and Mathematics.

Language uses notation to express meaning.  It involves
grammar, syntax, dictionaries, parsing, and interpretation to
record and convey information.  Expressing completely
unambiguous instructions to a computer in source code, and
writing a clear user manual are both examples of software
tasks that demand high language skills.  Softwarists have to be
able to work with languages, to translate them, to evaluate them.
Which programming technology should we use for this new
project?  Understanding what a programming language is best
suited for is necessary to make decisions like this.  To bring this
down to a concrete criteria - every softwarist must be a proficient
reader and writer of a natural human language.

Mathematics give us tools to understand numbers, algorithms,
logic, and the limits of quantitative knowledge.  Softwarists cannot
know too much about mathematics.  Sorting, searching, and merging
still dominate most software applications.  Knowing how to count
in hexadecimal is important.  Proving that an algorithm converges to a
solution makes a difference in how an application is designed.
Distinguishing between precision and accuracy is essential for
pragmatic software development.  Prime numbers are essential
for encryption.  Basically, computers deal with quantitative data,
and the computer trainers have to understand this domain thoroughly.

Finally, there is the "Other" application domain.  Software skills are
inherently empty.  Without a purpose or a goal software development
is meaningless.  Musicians and physicists do not have this problem.
Their domains either related directly to human life, or have a clear
meaning on their own.  Software is different.  So every softwarist
must be an expert in some other field in addition to software.  One
cannot write air traffic management software without knowing a lot
about how aircraft are controlled in flight.  One cannot write
investment portfolio management packages without understanding
the stock market.  Every software specialist should be introduced
as an expert in software and "something else".

Other domains such as Project Management, System Engineering,
or Business Practices are not essentially connected to software
any more than they are connected to physics or music.  Musicians
also have to plan and complete projects.  So do software workers.
There is nothing special about software that connects it to projects.

So software workers have to know a lot.  They have to be able to
work with this addictive technology and still have a life.  They have
to promote the betterment of humankind by choosing to work on
morally defendable applications.  They have to improve their
understanding using rational science.  They have to be effective with
language, and conversant in mathematics.  And finally they have to
also understand at least one other application domain.  It is an
exciting challenge.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Next Month's Topic: Top Ten Contributions of the Century

Guest Panelists: TOP SECRET

Every other magazine is doing it - why not FASE?  To celebrate the
end of both the century and the millennium, the December 1999 issue
will have a panel of top people in the software engineering
education, training, and professional (SEET&P) issue communities who
would name the top ten contributions of the century in the area of
SEET&P.

As for your opinions, see the February 2000 topic!

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

January 2000 Topic: Coping with the Faculty Shortage

Topic Editor: Don Bagert, Texas Tech University
            Don.Bagert@ttu.edu

As work of the IEEE-CS/ACM Software Engineering Coordinating
Committee (SWECC) and its related groups progress, attention is
increasingly shifting to implementation.  A major roadblock to the
implementation of software engineering degree programs is the lack
of qualified full-time faculty.  This issue will focus on the problem,
and suggest solutions.

If you are interested in participating, please contact Don Bagert
via Don.Bagert@ttu.edu.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

February 2000 Topic: Top Ten Contributions - The Readers' Picks

Topic Editor: Don Bagert, Texas Tech University
           Don.Bagert@ttu.edu

In December 1999, some of the experts will give their opinions - now
it's time for the most important people - our readers - to give us
their views on what are the top ten contributions of the century in
the area of software engineering education, training, and professional
(SEET&P) issues.  Details on how the (unscientific) poll will be
conducted will appear in the December issue...but that doesn't mean
that you can't start preparing your list now!

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

By:  Don Bagert (Academic/Misc Editor)

Call for Guest Editors and Topic Suggestions

If you are interested in being a guest editor, or have any suggestions
for future topics, please contact me at Don.Bagert@ttu.edu.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

News Items

######################################################################

From: Don Bagert (Academic/Misc Editor)

ACM Blue Ribbon Licensing Panel Report URL

The April 1999 issue of FASE reported that ACM had formed a "Blue
Ribbon" Panel on Professional Licensing in Software Engineering.
Their report, along with panel member bios and position papers, are
online at

   http://www.acm.org/serving/se_policy/report.html

######################################################################

From: Barbara White via Nancy Mead <nrm@sei.cmu.edu>

Guidelines for Software Engineering Education Published by SEI

The following new technical report ("Guidelines for Software
Engineering Education Version 1.0") is available for
distribution.

Information about how to download this report is available at
http://www.sei.cmu.edu/publications/documents/99.reports/99tr032
/99tr032abstract.html

Please contact me if you have questions about this report.

Many thanks.
Barbara White
 

title           Guidelines for Software Engineering Education
                Version 1.0

author          Donald Bagert (Texas Tech University)
               Thomas Hilburn (Embry-Riddle Aeronautical University)
                Greg Hislop (Drexel University)
                Michael Lutz (Rochester Institute of Technology)
                Michael McCracken (George Institute of Technology)
                Susan Mengel (Texas Tech University)

numbers         CMU/SEI-99-TR-032
                ESC-TR-99-002

editor          Pennie Walters (pwalters@home.com)

completion      October 1999

distribution    unlimited

abstract        The two central parts of the Guidelines are
                the description of a software engineering
                body of knowledge and a curriculum model.
                The body of knowledge presents a
                high-level organization and description
                of the software engineering that supports
                effective curriculum design; and the
                curriculum model consists of a design
                architecture, a set of design concepts,
                and curriculum content guidance. We
                believe that this material and other
                guidance offered will provide assistance
                to faculty in the design and development
                of quality programs in software
                engineering and related curricula.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Calls for Participation

######################################################################

From: C. Michael Holloway <c.m.holloway@larc.nasa.gov>

Fifth NASA Langley Formal Methods Workshop

Greetings,

I am the chairman of Lfm2000, the Fifth NASA Langley Formal Methods
Workshop, which will be held in June 2000 (see
<http://shemesh.larc.nasa.gov/fm/Lfm2000/>.  One of the areas in which
we're seeking papers is formal methods education.  We are especially
interested in papers that discuss the integration of formal methods
education with "regular" software engineering and computer science
education.

######################################################################

From: Robert Dupuis <dupuis.robert@uqam.ca>

Call for Reviewers
Guide to the Software Engineering Body of Knowledge
Third Review Cycle of the Stone Man (Version 0.7)

January - February 2000

------------------------------
TO SIGN UP AS A REVIEWER PLEASE COMPLETE
ELECTRONIC FORM AVAILABLE AT
WWW.SWEBOK.ORG
------------------------------

The IEEE Computer Society and the ACM have been actively
promoting software engineering as a profession and a legitimate
engineering discipline notably through their involvement in the Joint
ACM-IEEE Computer Society Software Engineering
Coordinating Committee (http://www.acm.org/serving/se/ ).
The committee authorized the preparation of the Guide to
Software Engineering Body of Knowledge (SWEBOK).

This call is to recruit individuals and organizations to participate
in the next review cycle of the Guide (Stoneman version).
The purpose of the Guide is to characterize the contents of the
software engineering discipline, to promote a consistent view
of software engineering worldwide, to clarify the place of, and
set the boundary of, software engineering with respect to other
disciplines, and to provide a foundation for curriculum development
 and individual licensing material. All intermediate and final
deliverables are currently or will be available without any charge
at www.swebok.org.

The current draft is organized into 10 chapters dealing with the
following topics: software requirements analysis, software
design, software construction, software testing, software evolution
and maintenance, software configuration management, software
quality analysis, software engineering management, software
engineering infrastructure, and software engineering process.
Chapter authors have been recruited from Australia, Canada, Italy,
New Zealand, the UK and the USA.

The development of the Guide (Stoneman version) includes three
public review cycles. The focus of the first review cycle was on
the soundness and reasonableness of the proposed breakdown of
topics within each chapter. This first review cycle was completed
by a small number of domain experts for each chapter and was
completed in April 1999. The reviewer comments as well as the
identities of the reviewers are available on the project's web site.

The second review cycle was organized around the guidelines
given by the project's editorial team to the chapter authors. A
considerably larger group of professionals, organized into review
viewpoints, answered a detailed questionnaire for each chapter.
The viewpoints (for example, individual practitioners, educators
and makers of public policy) were formulated to ensure relevance
to the various intended audiences of the Guide. The reviewer
feedback collected in this review cycle, completed in October
1999, is also available on the project's web site. Chapter authors
will also document how reviewer feedback is resolved.

The focus of the third review cycle for which you will be signing
up will be on the correctness and utility of the Guide. This review
cycle scheduled to start in January of 2000 will be completed by
individuals and organizations representing a cross-section of
potential interest groups. A large number of reviewers have
already been recruited and further reviewers are being solicited
to fulfill coverage objectives. The third review cycle will however
be on the entire Guide rather than on the individual Knowledge
Area Descriptions. Reviewers may however be asked
to pay specific attention to certain chapters.

Please note that adequate information to implement a
recommended change must be provided by the reviewer for it
to be considered. Well described recommended actions will be
given more attention and credence than vague or imprecise ones.
The project will prepare a document that will contain all
recommended changes along with their disposition. All reviewers
will be recognized by having their name on the list of contributors.

For further information, please contact either
Pierre.Bourque@uqam.ca or
Robert.Dupuis@uqam.ca

**************************************************
Pierre Bourque
Directeur de la recherche appliquee
Laboratoire de recherche en gestion des logiciels
 

http://www.lrgl.uqam.ca/

Director of Applied Research
Software Engineering Management Research Laboratory

Co-editor, Guide to the Software Engineering Body of Knowledge
 

http://www.swebok.org

Departement d'informatique
Universite du Quebec a Montreal
Case postale 8888, succursale Centre-Ville
Montreal (Quebec) Canada
H3C 3P8

mailto: bourque.pierre@uqam.ca
Telephone:   (514) 987-3000 poste 0315
Fax      :   (514) 987-8477

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Position Openings

######################################################################

From: David Alex Lamb <dalamb@cs.queensu.ca>

QUEEN'S UNIVERSITY
Department of Computing and Information Science

The Department of Computing and Information Science invites
applications for two tenure-track positions at the Assistant Professor
or Associate Professor levels. Queen's University is one of the top
universities in Canada and is well known for the high quality of its
students and faculty. Queen's University is situated in Kingston, a
beautiful and historic city, which is located on Lake Ontario within
easy travelling distance of Toronto, Montreal, Ottawa and Syracuse.
Kingston offers the amenities of a large city and the comfort of a
small city.

The Department of Computing and Information Science, which has 23
faculty, 16 staff and approximately 80 graduate students, is
committed to excellence in both research and teaching. The faculty are
doing research in a number of areas of computer science including
computational imagery, molecular scene analysis, computer-assisted
surgery, robotics and perception, software technology, database
systems, computer networks, computational geometry, parallel
computation and computational linguistics. The department offers
undergraduate programs in computer science, cognitive science, and
software design. It also hopes to begin a new undergraduate program in
biomedical computing.

Applicants for the tenure-track positions should have a Ph.D. degree
in computer science or a related field. The Department will consider
applicants in software engineering, intelligent systems, parallel and
distributed systems and database systems.  Applicants in the area of
software engineering and applicants in the four general areas whose
research has applications to medical computing or bioinformatics are
particularly encouraged to apply. The successful candidate will be
expected to develop an active research program and to teach
effectively at the undergraduate and graduate levels.  Salary is
commensurate with qualifications and experience.

Applicants are requested to send a curriculum vitae, including a list
of publications and the names of three references, and copies of up
to three recent papers to Dr. Janice Glasgow, Chair, Department of
Computing and Information Science, Queen's University, Kingston,
Ontario, Canada K7L 3N6. Openings are for July 2000 and beyond.
Screening of applicants will begin immediately and continue until all
positions are filled. Queen's University is committed to employment
equity and welcomes applications from all qualified men and women,
including visible minorities, aboriginal people, persons with
disabilities, gay men and lesbians.

######################################################################

[Editor's Note: When this ad was published in the last issue of FASE,
there was an ambiguity on when applications would be reviewed.  The
revised ad below corrects this problem.]

From: Daniel E. Cooke <dcooke@coe.ttu.edu>

Texas Tech University - Clarification From Last Issue
Computer Science Department

The Department of Computer Science at Texas Tech University is
committed to being a nationally recognized program in the computing
field. We invite applications for several positions at all levels to
begin employment in the Fall 2000. Priority will be given to
applicants whose areas of interest include databases, distributed and
high performance computing, and software engineering. Our plans are to
hire one person in each of these areas. Applicants at the assistant
professor level must have the requirements for the Ph.D. in Computer
Science or related field completed before employment, and should
demonstrate clear potential for effective teaching and research.
Applicants at other ranks should also have a proven record of
scholarly accomplishments, including a strong record of publications,
and funded research commensurate with rank.

The Department of Computer Science is within the College of
Engineering, and offers BS, MS, and Ph.D. degrees in Computer Science
and a new MS degree in Software Engineering. The department
participates in both an EE/CS dual degree program and a Computer
Engineering program in conjunction with the Department of Electrical
Engineering, as well as dual degrees with both Chemical Engineering
and Mathematics. At present, there are over 500 undergraduate and
fifty graduate students in computer science degree programs. The
graduate program offers specialties in computer engineering, software
engineering, and intelligent systems.

Faculty perform scholarly and funded research in many areas,
including: distributed computing and modeling, graphics and haptics,
high performance computing, multimedia systems, neural networks,
knowledge representation, real-time systems, software methodologies,
computer languages, logic programming, robotics, image processing, and
software metrics. Applicants should send a letter expressing interest
in the position, a detailed resume, and the names and addresses of
three professional references to:

Daniel E. Cooke, Chairperson
Department of Computer Science
PO Box 43104
Texas Tech University
Lubbock TX 79409-3104

For additional information, see our website:
http://www.cs.ttu.edu/FacSearch/.

All questions should be directed to dcooke@coe.ttu.edu. Applications
will be reviewed on January 15, 2000, and continue to be reviewed
until the positions are filled. Applicants must be able to lawfully
accept employment in the United States.

Texas Tech University is an Equal Opportunity/Affirmative Action
Employer.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Contact and General Information about FASE

The Forum for Advancing Software engineering Education (FASE) is
published on the 15th of each month by the FASE editorial board.

Send newsletter articles to one of the editors, preferably by
category: Articles pertinent to corporate and government training to
Kathy Beckman <kbeckman1@erols.com>; Academic education, and all
other categories to Don Bagert <Don.Bagert@ttu.edu>.  If the article
for a FASE topic where there is a guest editor, the submission should
instead be to that person.  Items must be submitted by the 8th of the
month in order to be considered for inclusion in that month's issue.
Also, please see the submission guidelines immediately below.

FASE submission format guidelines:  All submissions must be in ASCII
format, and contain no more than 70 characters per line (71 including
the new line character).  This 70-character/line format must be
viewable in a text editor such as Microsoft Notepad WITHOUT using a
"word wrap" facility.  All characters (outside of the newline) should
in the ASCII code range from 32 to 126 (i.e. "printable" in DOS text
mode).

[NEW SUBSCRIBE/UNSCRIBE INFORMATION - September 15, 1998]

Everyone that is receiving this is on the FASE mailing list.  If you
wish to leave this list, write to

   <listproc@listserv.ttu.edu>

and, in the text of your message (not the subject line), write:

   unsubscribe fase

To rejoin (or have someone else join) the FASE mailing list, write to

   subscribe fase <Your Name>

For instance, if your name is Jane Smith, write:

   subscribe fase Jane Smith

But what if you have something that you want to share with everyone
else, before the next issue?  For more real-time discussion,
there is the FASE-TALK discussion list.  It is our hope that it
will be to FASE readers what the SIGCSE.members listserv is to
that group.  (For those of you that don't know, SIGCSE is the
ACM Special Interest Group on Computer Science Education.)

To subscribe to the FASE-TALK list, write to

   <listproc@listserv.ttu.edu>

and, in the text of your message (not the subject line), write:

   subscribe fase-talk <Your Name>

For instance, if your name is Jane Smith, write:

   subscribe fase-talk Jane Smith

Please try to limit FASE-TALK to discussion items related to software
engineering education and training; CFPs and other such items can
still be submitted to the editor for inclusion into FASE.  Anyone that
belongs to the FASE-TALK mailing list can post to it.

FASE-TALK is also used by the editors for "breaking stories" i.e. news
that we feel that you would want to hear about before the next issue
of FASE comes out.  (We do this sparingly, though.)

As always, there is no cost for subscribing to either FASE or
FASE-TALK!

Back issues (dating from the very first issue) can be found on the
web (with each Table of Contents) at
<http://www.cs.ttu.edu/fase/archive.htm> in chronological order,
<http://www.cs.ttu.edu/fase/reverse.htm> in reverse order, or
through ftp at
<ftp://www.cs.ttu.edu/fase/archive>.

The FASE Staff:

Don Bagert, P.E. -- Academic/Misc Editor, ListMaster, and Archivist
Dept. of Computer Science
8th and Boston
Texas Tech University
Lubbock TX 79409-3104 USA
Phone: 806-742-1189
Fax:   806-742-3519
Email: Don.Bagert@ttu.edu
URL:   http://www.cs.ttu.edu/faculty/bagert.html

Kathy Beckman -- Corporate/Government Editor
Computer Data Systems
One Curie Ct.
Rockville MD 20850 USA
Phone: 301-921-7027
Fax:   301-921-1004
Email: kbeckman1@erols.com

Laurie Werth -- Advisory Committee
Taylor Hall 2.124
University of Texas at Austin
Austin TX 78712 USA
Phone: 512-471-9535
Fax:   512-471-8885
Email: lwerth@cs.utexas.edu

Nancy Mead -- Advisory Committee
Software Engineering Institute
5000 Forbes Ave.
Pittsburgh, PA 15213 USA
Phone: 412-268-5756
Fax:   412-268-5758
Email: nrm@sei.cmu.edu