top of page
Search

Updated: Oct 5, 2019

Ex 16.9

Q: Design the interfaces of components that might be used in a system for an emergency control room. You should design interfaces for a call-logging component that records calls made, and a vehicle discovery component that, given a postal code (zip code) and an incident type, finds the nearest suitable vehicle to be dispatched to the incident.


A:


3 views0 comments

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."

Updated: Oct 6, 2019

Ex 15.10

Q: The reuse of software raises a number of copyright and intellectual preperty issues.

If a customer pays a software contractor to develop a system, who has the right to reuse the developed code?

Does the software contractor have the right to use the code as a basis for a generic component?

What payment mechanisms might be used to reimburse providers of reusable components? Discuss these issues and other ethical issues associated with the reuse of software.


A: I believe that the customer would have full rights to reuse the code. The developer could utilize generic code for other projects, but nothing specific or directly relates to the customer.

If the developer wants to utilize some of the non generic code, then I believe they should give a certain percentage to the original customer.

0 views0 comments
bottom of page