4 Essential attributes of good software:
- Acceptability
- Dependability
- Efficiency
- Maintainability
4 other attributes:
- Functionality
- Documentation
- Good naming convention
- Should install with minimal outside required software
1.8 Discuss whether professional engineers should be licensed in the same way as doctors or lawyers.
Professional engineers should be license in the same way as doctors or lawyers because they can affect the lives of many people. They ensure things are created and maintain properly. If they do not do their job correctly, then it can affect a whole population.
1.9 For each of the clauses in the ACM/IEEE Code of Ehtics shown in Figure 1.4, propose an appropriate example that illustrates that clause.
- Public - A software engineer creates an app to share news
- Client and Employer - The engineer creates the software to the clients specifications so long as it cannot do harm to the public.
- Product - The finished product is reliable.
- Judgement - The engineer decides to not continue a project because it may be used for harm.
- Management - The manager of engineers does not allow the production of a application to spy on other members of the public.
- Profession - An engineer keeps the public interest at the forefront of their career.
- Colleagues - An engineer helps another engineer finish an aspect of an app.
- Self - Learn new programming languages and new ways of creating software.
1.10 To help counter terrorism, many countries are planning or have developed computer systems that track large number of their citizens and their actions. Clearly, this has privacy implications. Discuss the ethics of working on the development of this type of system.
Counter terrorism surveillance is sadly a necessary evil in today's world. The system should try to target just citizens suspected of committing future terrorist acts or previously committed acts. The reality is it is extremely hard to pinpoint these people without putting out a dragnet that will sadly capture information on ordinary citizens. The engineers on this software walk a then line because this type of system can very easily be misused.