top of page
Search

HW16: Chapter 9

Updated: Oct 5, 2019

Ex 9.8

Q:  Briefly describe the 3 main types of software maintenance. Why is it sometimes difficult to distinguish between them?


A:

1. Fault repairs to fix bugs and vulnerabilities- coding errors ($ typically cheep to correct) , design errors ($$ worst case: write several program components), and requirement errors ($$$ worst case: extensive system redesign)


2. Environmental adaptation to adapt the software to new platforms and environments- required when some aspect of a system's environment (hardware, platform os, or other support software) changes; application systems may have been modified to cope with these environmental changes


3. Functionality addition to add new features and to support new requirements- necessary when system requirements change in response to organizational or business change; the scale of the changes required to the software is often much greater than for the other types of maintenance


It is sometimes difficult to distinguish between them since performing the act of one software maintenance technique may cause a chain reaction to the others. There are also multiple names for each of these three types of software maintenance which may cause confusion in what type of maintenance is being performed depending on the project.


Ex 9.10

Q: Do software engineers have a professional responsibility to develop code that can be easily maintained even if their employer does not explicitly request it?


A: I personally believe software engineers do have a personal responsibility to create maintainable code as this is a vital component to promoting the longevity of successful software. My thoughts on this questions stem from the ACM Code of Ethics 2.9 stating to "design and implement systems that are robust and usably secure."

0 views0 comments

Recent Posts

See All

HW23: Chapter 22

Ex 22.6 Q: Fixed-price contracts, where the contractor bids a fixed price to complete system development, may be used to move project risk from client to contractor. If anything goes wrong, the contra

HW27: Chapter 25

Ex 25.10 Q: Describe 5 factors that engineers should take into account doing the process of building a release of a large software system. A: When thinking about this answer I used the release of a ph

bottom of page