EducationCurriculumEducational TechnologyAssessment For LearningPedagogySoftware EngineeringComputer Science EducationSoftware DesignSoftware ModelingSoftware Quality AssuranceSoftware TestingCurriculum Development In EngineeringCurriculum ModelsProfessional CurriculumSoftware CertificationSoftware Engineering Education
This paper provides a definition of the term "software engineering" and a survey of the current state of the art and likely future trends in the field. The survey covers the technology available in the various phases of the software life cycle—requirements engineering, design, coding, test, and maintenance—and in the overall area of software management and integrated technology-management approaches. It is oriented primarily toward discussing the domain of applicability of techniques (where and when they work), rather than how they work in detail. To cover the latter, an extensive set of 104 references is provided.
50
W. P. Stevens, G. J. Myers, Larry L. Constantine · IBM Systems Journal · 1974 · 1.2K citations
System structure for software fault tolerance
Brian Randell · IEEE Transactions on Software Engineering · 1975 · 1.1K citations
Olle Dahl, E. Dijkstra, C. A. R. Hoare · 1972 · 890 citations
Quantitative evaluation of software quality
Barry Boehm, Jonathan R. Brown, M. Lipow · 1976 · 631 citations