Section 1
Section Goals
- To define software engineering.
- To describe the main areas of knowledge in software engineering.
Learning Objectives
Learning Objective 1
- Define software engineering.
- Describe the need for a software engineering discipline.
- Define the characteristics of the software engineering profession.
- Explain the differences between software engineering and computer science.
- Describe the disciplines related to software engineering.
Objective Leading Questions
- When was the term "software engineering" coined by a NATO study group?
- What are the main characteristics of any profession, and what is the role of the Guide to the Software Engineering Body of Knowledge in characterizing the software engineering profession?
- What is the relationship between computer science and software engineering?
- What disciplines are related to software engineering?
Objective Readings
Required Readings
"Foreword" to SWEBOK [Bourque and Fairley 2014].
"Introduction" to SWEBOK [Bourque and Fairley 2014].
Parnas, D.L. (1998), "Software Engineering Programmes are not Computer Science Programmes," Annals of Software Engineering 6, 19-37. https://doi.org/10.1023/A:1018949113292
Engle, C.B., Jr. (1989), "Software Engineering is Not Computer Science," In Lecture Notes in Computer Science: Vol. 376. Software Engineering Education, G. Goos and J. Hartmanis (Series Eds.), and N. E. Gibbs (Vol. Ed.), Springer, Berlin, Germany, pp. 257-262. https://doi.org/10.1007/BFb0042363
Learning Objective 2
- Define the main areas of knowledge in software engineering.
- Identify the concepts that define software engineering.
Objective Leading Questions
- What are the key factors driving change in the field of software engineering?
- Name the eight main concepts that are the foundation of software engineering.
- Describe in detail the main characteristics of each of these concepts.
Objective Readings
Required Readings
Wasserman, A.I. (1996), "Toward a Discipline of Software Engineering," IEEE Software 13, 6, 23-31. https://doi.org/10.1109/52.542291
McConnell, S. (1999b), "Software Engineering Principles," IEEE Software 16, 2, 6-8. https://doi.org/10.1109/MS.1999.754046
Glass, R.L. (2003a), "The State of the Practice of Software Engineering," IEEE Software 20, 6, 20-21. https://doi.org/10.1109/MS.2003.1241361