Introduction to Software Engineering
Reading
Sommerville, Chapter 1
Software Engineering Code of Ethics and Professional Practice
Objectives
- Know the reasons for most Software Failures and the ways in which they manifest.
- Understand how personal software development must change to Software Engineering when the program will be used by others, developed by teams, and maintained/changed through its lifetime.
- Comprehend the essential attributes of Acceptability, Dependability/Security/Safety, Efficiency, and Maintainability.
- Understand how Quality, Schedule, and Budget must be balanced by the software engineer.
- Describe how varying degrees of software engineering are needed based upon the type of software being developed.
- Understand the four Fundamental Activities common to all software development processes.
- Describe the difference between Computer Science and Software Engineering.
- Describe how Heterogeneity, Business/Social Change, Security and Trust, and Scale affect different types of software.
- Know the Eight Principles of the ACM/IEEE-CS Software Engineering Code of Ethics and Professional Practice.
Notes
- Know the reasons for most Software Failures and the ways in which they
manifest. List these.
- Two primary reasons for Software Failures
- Manifested by what three means
- Understand how personal software development must change to Software
Engineering when the program will be used by others, developed by teams, and
maintained/changed through its lifetime. State the issues.
- Program to be Used by Others
- Developed by Teams
- Maintained/Changed through its Lifetime
- Comprehend the essential attributes of Acceptability,
Dependability/Security/Safety, Efficiency, and Maintainability. Define
each.
- Acceptability
- Dependability/Security/Safety
- Efficiency
- Maintainability
- Understand how Quality, Schedule, and Budget must be balanced by the software engineer. Elaborate on the Give-and-Take.
- Describe how varying degrees of software engineering are needed based upon
the type of software being developed. Describe the Factors.
- Factors requiring MORE Rigor
- Factors allowing LESS Rigor
- Understand the four Fundamental Activities common to all software development processes. List the four.
- Describe the difference between Computer Science and Software Engineering. Describe in no more than two sentences.
- Describe how Heterogeneity, Business/Social Change, Security and Trust, and
Scale affect different types of software. Describe each and implications
for software type.
- Heterogeneity
- Business/Social Change
- Security and Trust
- Scale
- Know the Eight Principles of the ACM/IEEE-CS Software Engineering Code of
Ethics and Professional Practice. Elaborate each with one phrase.
- PUBLIC
- CLIENT AND EMPLOYER
- PRODUCT
- JUDGMENT
- MANAGEMENT
- PROFESSION
- COLLEAGUES
- SELF