Page 31 -
P. 31
14 Chapter 1 Introduction
2. It is now generally recognized that it is impractical to specify all the require-
ments for such systems in advance. Web-based systems should be developed
and delivered incrementally.
3. User interfaces are constrained by the capabilities of web browsers. Although
technologies such as AJAX (Holdener, 2008) mean that rich interfaces can be
created within a web browser, these technologies are still difficult to use. Web
forms with local scripting are more commonly used. Application interfaces on
web-based systems are often poorer than the specially designed user interfaces
on PC system products.
The fundamental ideas of software engineering, discussed in the previous section,
apply to web-based software in the same way that they apply to other types of soft-
ware system. Experience gained with large system development in the 20th century
is still relevant to web-based software.
1.2 Software engineering ethics
Like other engineering disciplines, software engineering is carried out within a
social and legal framework that limits the freedom of people working in that area. As
a software engineer, you must accept that your job involves wider responsibilities
than simply the application of technical skills. You must also behave in an ethical
and morally responsible way if you are to be respected as a professional engineer.
It goes without saying that you should uphold normal standards of honesty and
integrity. You should not use your skills and abilities to behave in a dishonest way or
in a way that will bring disrepute to the software engineering profession. However,
there are areas where standards of acceptable behavior are not bound by laws but by
the more tenuous notion of professional responsibility. Some of these are:
1. Confidentiality You should normally respect the confidentiality of your employ-
ers or clients irrespective of whether or not a formal confidentiality agreement
has been signed.
2. Competence You should not misrepresent your level of competence. You should
not knowingly accept work that is outside your competence.
3. 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.
4. 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, say) to extremely serious (dissemination of viruses or
other malware).