Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Software Engineering A Preview Ch.1 1 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.1 2 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.1 3 Definitions • Application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software (IEEE 1990) • Multi-person construction of multiversion software (Parnas 1978) Ch.1 4 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.1 5 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.1 6 Role of software engineer • Programming skill not enough • Software engineering involves "programmingin-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.1 7 The software lifecycle (a preview) Requirements analysis and specification waterfall model Design and specification Code and module testing Integration and system testing Delivery and maintenance Ch.1 8 Relationships between SE and other CS disciplines • • • • • Programming languages Operating systems Data bases Artificial intelligence Theory Ch.1 9 Relationships between SE and other disciplines • Management science • Systems engineering • Others Ch.1 10