Download Software Engineering

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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