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 An HTML version of this issue is available at ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Table of Contents This Month's Topic: The Relationship Between Software Engineering and Related 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 From Last Month Contact and General Information about FASE ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ This Month's Topic: The Relationship Between Software Engineering and Related 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. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ December 1999 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 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 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 . 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 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 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 Texas Tech University 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 ; Academic education, and all other categories to Don Bagert . 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 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 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 in chronological order, in reverse order, or through ftp at . 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