Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Software engineering education: the educational needs of the software community
Fairley R., Gibbs N.  Software engineering education: the educational needs of the software community,Carnegie-Mellon Univ. Software Engineering Institute, Pittsburgh, PA,1987.Type:Whole Proceedings
Date Reviewed: Aug 1 1988

What is software engineering? You will find many definitions here--about one definition in each of the 26 or so papers in this tome, with many of them overlapping. This collection of papers is a set of opinions, in the broadest sense of the word, that formed part of a meeting dedicated to this topic. Each author feels that he or she has a handle on the problem and has the right orientation for its solution, offering this solution as a component--or even the whole--of an academic program in this field. While reading the papers I was reminded of the well-known scenario in which each of several blind men is taken near a different part of an elephant and then asked to give a description of the elephant.

The problem, which was formally recognized as such around 20 years ago but still lacks an adequate solution, is the chaos, the state of disaster, the long and numerous list of disasters in the software industry, the cost and time overruns, and the inadequacy or unworkability of the resulting software systems. Since the problem was first recognized around the beginning of the 1970s, several schools have emerged with the solution. Among these are (1) the structured methodologies (structured analysis, structured design, structured programming, structured everything); (2) the database management systems (and the hiding of file structures and relationships, the minimization of redundancy, and the resulting simplification of programs); (3) the inclusion of traditional business topics, such as management, organizational behavior, economics, and interpersonal communications in the curriculum; and, lately, (4) fourth generation languages and expert systems. Although these efforts have been applied intermittently around the country throughout the past twenty years or so, the presence of the problem is still very much felt.

These attempts at a solution have been, for the most part, few and far between. The contribution of an academic degree in software engineering is that it combines all the existing tools for solving the problem into a coherent structure of knowledge, without losing historical perspective, and definitely maintaining a futuristic viewpoint.

The software engineering field is, as one of the commentators in this volume says, quite new, formally speaking. Formally--referring to academic programs--is the key word here. That there exist an abundance of software engineers is a patent truth when giving the term its rightful meaning of a problem solver in the field of software, be it in design, development, or maintainance of software systems. Regarding the position of such an academic program in a university, the consensus in this group of authors seems to be that it belongs in the engineering school. Parallels are drawn to support this conclusion: since the engineer is the professional who solves practical problems related to the pure sciences, it follows that the solvers of problems arising from computer science should be software engineers. Just the name software engineering will carry a great weight among university administrators and regents regarding this. The academic background of university professors in the computer field (represented by this group of authors) used to be in the fields of mathematics and electrical engineering. Today it is in computer science. This formal abstract background will lead to formal abstract courses and programs. Every academic keeps forgetting (I remember reading this in the 1960s, and it is still true) that the immense majority of analysts and programmers work in commercial environments. Merely taking a few courses in management, accounting, and finance will definitely not do. I suggest that these academic programs be embedded in business schools; producing BBAs and MBAs but with the engineering name.

The content of the volume is typical of what one reads in SIGCSE and SIGSOFT publications. After the authors submitted their papers, they were given copies of every other paper that was to be published. In the meeting, five working groups were formed, and a summary transcript of each meeting is also included in this volume. The tone of the participants as seen from these transcripts is, with a couple of exceptions, a humble one, contrasting with the tone of the papers each wrote. The contents of the transcripts are somewhat anticlimactic and disillusioning.

The outstanding paper is the talk by the keynote speaker, Frederick P. Brooks, Jr. It presents deep philosophical ideas regarding the computer software field, as well as putting several problems in an illuminating new perspective. Everyone in the computer field should read this paper. The other article you might insist on reading is the one by William A. Wulf. Structurally it is poorly written: it seems like a lot of off-the-cuff ideas loosely interwoven. I also disagree with his excessive math and science foundation. But these are many thoughts here that clearly ring of truth.

This volume should be read by any academic who has responsibility for defining and developing a degree in applied software. It definitely contains several excellent ideas and opinions. However, you can expect to differ with many of the ideas presented, and should count on thinking that some of the papers are downright poor. You will also find opposing ideas. The most fascinating disagreement is that some of the authors say that software engineering is founded on an existing body of scientific knowledge; others say that this body of scientific knowledge does not yet exist and compares the present situation with that of medicine centuries ago. A few typos sneaked in (e.g., “demonstratably” and “principle ideas”).

Reviewer:  J. Babilonia Review #: CR111552
Bookmark and Share
 
Computer Science Education (K.3.2 ... )
 
 
General (D.2.0 )
 
Would you recommend this review?
yes
no
Other reviews under "Computer Science Education": Date
Pascal
Meyers R., Prentice-Hall, Inc., Upper Saddle River, NJ, 1992. Type: Book (9780137256235)
Oct 1 1992
Fundamentals of computing I
Tucker A., Bradley W., Cupper R., Garnick D., McGraw-Hill, Inc., New York, NY, 1992. Type: Book (9780070654495)
Feb 1 1993
Learning computer programming through dynamic representation of computer functioning: evaluation of a new learning package for Pascal
Goodwin L., Sanati M. International Journal of Man-Machine Studies 25(3): 327-341, 1986. Type: Article
Sep 1 1987
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy