CPS 213 Lecture Notes - Lecture 6: Software Maintenance, Test Plan, Customer Satisfaction
Document Summary
Software engineering: "the application of a systematic, disciplined, quantifiable approach to the development operation, and maintenance of software" - ieee. What causes software errors: faulty definition of requirements. Unnecessary requirements included: client-developer communication failure. Misunderstanding of client requirements presented in writing, orally, etc. Misunderstanding of client responses to design problems: deliberate deviations from software requirements. Reuse of existing software components from previous projects without complete analysis. Functionality omitted due to budget or time constraints. "improvement" to software that are not in requirements: logical design errors. Errors in interpreting the design document, errors related to incorrect use of programming language constructs, etc: coding errors. Errors in interpreting the design document, errors related to incorrect use of programming language constructs, etc: non-compliance with documentation and coding instructions. Errors resulting from other team members coordinating with non-complying member"s code. Errors resulting from individuals trying to understand/maintain/test non-complying member"s code: shortcomings of the testing process. Failure to report all errors/faults resulting from testing.