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).
   26   27   28   29   30   31   32   33   34   35   36