CRYSTALINDIGO
INF3705 ASSIGNMENT 1 (discussion)
Question 1: What is the most important difference between generic
software product development and custom software development?
In generic products the organization/product developer that develops the software controls
the software specification meaning if there are any development problems or changes, the
developer can quickly decide to change the specification in response to problems or some
external changes.
On the other hand, in custom product development, the specification is owned and
controlled by the customer. If the customer owns the specification, changes have to be
negotiated between the customer and the developer and may have contractual implications.
Page(21)
Question 2: Software engineering is not only concerned with issues
such as system heterogeneity, business and social change, trust, and
security, but also issues of ethics that pertain to the domain. Give some
examples of ethical issues that have an impact on this domain.
Confidentiality – Always respect the confidentiality of your employers or clients regardless of
whether or not a formal confidentiality agreement has been signed. Software developers have access
to sensitive personal information, and there is a risk of misuse or abuse of that information. Ethical
considerations must be taken into account when designing and implementing software that collects,
stores, and uses personal information.
Competence - you should not misrepresent your level of competence. You should not knowingly
accept work that is outside your competence.
Intellectual property rights - You should be aware of local laws governing the use of intellectual
property such as patents and copyright. You should be careful to ensure that the intellectual property
of employers and clients is protected. As a Software engineer you must respect the intellectual
property rights of others. You must ensure that the software you develop does not infringe on the
copyrights, patents, or trademarks of others.
Computer misuse - You should not use your technical skills to misuse other people’s computers.
Computer misuse ranges from relatively trivial (game playing on an employer’s machine) to
extremely serious (dissemination of viruses or other malware).
Adding a few more examples of ethical issues
INF3705 ASSIGNMENT 1 (discussion)
Question 1: What is the most important difference between generic
software product development and custom software development?
In generic products the organization/product developer that develops the software controls
the software specification meaning if there are any development problems or changes, the
developer can quickly decide to change the specification in response to problems or some
external changes.
On the other hand, in custom product development, the specification is owned and
controlled by the customer. If the customer owns the specification, changes have to be
negotiated between the customer and the developer and may have contractual implications.
Page(21)
Question 2: Software engineering is not only concerned with issues
such as system heterogeneity, business and social change, trust, and
security, but also issues of ethics that pertain to the domain. Give some
examples of ethical issues that have an impact on this domain.
Confidentiality – Always respect the confidentiality of your employers or clients regardless of
whether or not a formal confidentiality agreement has been signed. Software developers have access
to sensitive personal information, and there is a risk of misuse or abuse of that information. Ethical
considerations must be taken into account when designing and implementing software that collects,
stores, and uses personal information.
Competence - you should not misrepresent your level of competence. You should not knowingly
accept work that is outside your competence.
Intellectual property rights - You should be aware of local laws governing the use of intellectual
property such as patents and copyright. You should be careful to ensure that the intellectual property
of employers and clients is protected. As a Software engineer you must respect the intellectual
property rights of others. You must ensure that the software you develop does not infringe on the
copyrights, patents, or trademarks of others.
Computer misuse - You should not use your technical skills to misuse other people’s computers.
Computer misuse ranges from relatively trivial (game playing on an employer’s machine) to
extremely serious (dissemination of viruses or other malware).
Adding a few more examples of ethical issues