
Software Engineering 2004 Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering A Volume of the Computing Curricula Series August 23, 2004 . The Joint Task Force on Computing Curricula IEEE Computer Society Association for Computing Machinery This material is based upon work supported by the National Science Foundation under Grant No. 0003263 Preface This document was developed through an effort originally commissioned by the ACM Education Board and the IEEE-Computer Society Educational Activities Board to create curriculum recommendations in several computing disciplines: computer science, computer engineering, software engineering and information systems. Other professional societies have joined in a number of the individual projects. Such has notably been the case for the SE2004 (Software Engineering 2004) project, which has included participation by representatives from the Australian Computer Society, the British Computer Society, and the Information Processing Society of Japan. Development Process The SE2004 project has been driven by a Steering Committee appointed by the sponsoring societies. The development process began with the appointment of the Steering Committee co- chairs and a number of the other participants in the fall of 2001. More committee members, including representatives from the other societies were added in the first half of 2002. The following are the members of the SE2004 Steering Committee: Co-Chairs Rich LeBlanc, ACM, Georgia Institute of Technology, U.S. Ann Sobel, IEEE-CS, Miami University, U.S. Knowledge Area Chair Ann Sobel, Miami University, U.S. Pedagogy Focus Group Co-Chairs Mordechai Ben-Menachem, Ben-Gurion University, Israel Timothy C. Lethbridge, University of Ottawa, Canada Co-Editors Jorge L. Díaz-Herrera, Rochester Institute of Technology, U.S. Thomas B. Hilburn, Embry-Riddle Aeronautical University, U.S. Organizational Representatives ACM: Andrew McGettrick, University of Strathclyde, U.K. ACM SIGSOFT: Joanne M. Atlee, University of Waterloo, Canada ACM Two-Year College Education: Elizabeth K. Hawthorne, Union County College, U.S. Australian Computer Society: John Leaney, University of Technology Sydney, Australia British Computer Society: David Budgen, Keele University, U.K. Information Processing Society of Japan: Yoshihiro Matsumoto, Musashi Institute of Technology, Japan IEEE-CS Technical Committee on Software Engineering: J. Barrie Thompson, University of Sunderland, U.K. SE2004 Volume – 8/23/2004 ii Acknowledgements The National Science Foundation, the Association of Computing Machinery, and the IEEE Computer Society have supported the development of this document. Since its inception, many individuals have contributed to the SE2004 project, some in more than one capacity. This work could not have been completed without the dedication and expertise of these volunteers. Appendix B lists the names of those that have participated in the various development and review stages of this document. Special thanks go to Susan Mengel of Texas Tech University who served as an original co-chair of the Steering Committee and performed the initial organizational tasks for the SE2004 project. SE2004 Volume – 8/23/2004 iii Table of Contents Preface........................................................................................................................................... ii Acknowledgements...................................................................................................................... iii Chapter 1: Introduction ............................................................................................................1 1.1 Purpose of this Volume.................................................................................................1 1.2 Where we fit in the Computing Curriculum picture .....................................................1 1.3 Development Process of the SE2004 Volume ..............................................................2 1.3.1 Education Knowledge Area Group ........................................................................2 1.3.2 Pedagogy Focus Area Group..................................................................................3 1.3.3 Full Volume Development .....................................................................................3 1.4 Structure of the Volume ................................................................................................4 Chapter 2: The Software Engineering Discipline ....................................................................5 2.1 The Discipline of Software Engineering.......................................................................5 2.2 Software Engineering as a Computing Discipline ........................................................6 2.3 Software Engineering as an Engineering Discipline.....................................................7 2.3.1 Characteristics of Engineering ...............................................................................7 2.3.2 Engineering design.................................................................................................8 2.3.3 Domain-specific software engineering...................................................................8 2.4 Professional Practice.....................................................................................................9 2.4.1 Rationale.................................................................................................................9 2.4.2 Software Engineering Code of Ethics and Professional Practices .......................10 2.4.3 Curriculum Support for Professional Practice......................................................10 2.5 Prior Software Engineering Education and Computing Curriculum Efforts ..............10 2.6 SWEBOK and other BOK Efforts ..............................................................................11 Chapter 3: Guiding Principles................................................................................................13 3.1 SE2004 Principles.......................................................................................................13 3.2 Student Outcomes .......................................................................................................14 Chapter 4: Overview of Software Engineering Education Knowledge .................................17 4.1 Process of Determining the SEEK ..............................................................................17 4.2 Knowledge Areas, Units, and Topics..........................................................................17 4.3 Core Material..............................................................................................................18 4.4 Unit of Time................................................................................................................18 4.5 Relationship of the SEEK to the Curriculum..............................................................19 4.6 Selection of Knowledge Areas....................................................................................19 4.7 SE Education Knowledge Areas .................................................................................20 4.8 Computing Essentials..................................................................................................21 4.9 Mathematical and Engineering Fundamentals ............................................................23 4.10 Professional Practice................................................................................................24 4.11 Software Modeling and Analysis.............................................................................25 4.12 Software Design.......................................................................................................27 4.13 Software Verification and Validation......................................................................28 SE2004 Volume – 8/23/2004 iv 4.14 Software Evolution..................................................................................................29 4.15 Software Process......................................................................................................30 4.16 Software Quality......................................................................................................31 4.17 Software Management .............................................................................................32 4.18 Systems and Application Specialties .......................................................................33 Chapter 5: Guidelines for SE Curriculum Design and Delivery............................................36 5.1 Guideline Regarding those Developing and Teaching the Curriculum ......................36 5.2 Guidelines for Constructing the Curriculum...............................................................37 5.3 Attributes and Attitudes that should Pervade the Curriculum and its Delivery..........39 5.4 General Strategies for Software Engineering Pedagogy.............................................44 5.5 Concluding Comment .................................................................................................46 Chapter 6: Courses and Course Sequences ............................................................................47 6.1 Course Coding Scheme ...............................................................................................48 6.2 Introductory Sequences Covering Software Engineering, Computer Science and Mathematics Material
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages135 Page
-
File Size-