Ch.11 Software Engineering A Preview
Ch.12 Outline Definitions of software engineering (SE) Historical origins of SE SE as part of systems engineering SE consists of many activities in addition to programming SE and other disciplines
Ch.13 Definitions The application of engineering to software Field of computer science dealing with software systems –large and complex –built by teams –exist in many versions –last many years –undergo changes
Ch.14 Definitions Application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software (IEEE 1990) Multi-person construction of multi- version software (Parnas 1978)
Ch.15 Role of SE in system design SE part of larger projects Embedded –Software requirements to be balanced against others e.g., telephone switching systems –certain requirements can only be met by hw, sw, and special devices
Ch.16 History The field of software engineering was born in 1968 in response to chronic failures of large software projects to meet schedule and budget constraints –Recognition of "the software crisis" Term became popular after NATO Conference in Garmisch Partenkirchen (Germany), 1968
Ch.17 Role of software engineer Programming skill not enough Software engineering involves "programming- in-the –large" –understand requirements and write specifications derive models and reason about them –master software –operate at various abstraction levels –member of a team communication skills management skills
Ch.18 The software lifecycle (a preview) waterfall model
Ch.19 Relationships between SE and other CS disciplines Programming languages Operating systems Data bases Artificial intelligence Theory
Ch.110 Relationships between SE and other disciplines Management science Systems engineering Others