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.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
######################################################################
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.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
######################################################################
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
Director of Applied Research
Software Engineering Management Research Laboratory
Co-editor, Guide to the Software Engineering Body of Knowledge
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
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
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