Page 34 -
P. 34

1.3   Case studies  17


                                         You must make up your own mind in these matters. The appropriate ethical posi-
                                       tion here depends entirely on the views of the individuals who are involved. In this
                                       case, the potential for damage, the extent of the damage, and the people affected by
                                       the damage should influence the decision. If the situation is very dangerous, it may
                                       be justified to publicize it using the national press (say). However, you should
                                       always try to resolve the situation while respecting the rights of your employer.
                                         Another ethical issue is participation in the development of military and nuclear
                                       systems. Some people feel strongly about these issues and do not wish to participate in
                                       any systems development associated with military systems. Others will work on mili-
                                       tary systems but not on weapons systems. Yet others feel that national security is an
                                       overriding principle and have no ethical objections to working on weapons systems.
                                         In this situation, it is important that both employers and employees should make
                                       their views known to each other in advance. Where an organization is involved in
                                       military or nuclear work, they should be able to specify that employees must be will-
                                       ing to accept any work assignment. Equally, if an employee is taken on and makes
                                       clear that they do not wish to work on such systems, employers should not put pres-
                                       sure on them to do so at some later date.
                                         The general area of ethics and professional responsibility is becoming more
                                       important as software-intensive systems pervade every aspect of work and everyday
                                       life. It can be considered from a philosophical standpoint where the basic principles
                                       of ethics are considered and software engineering ethics are discussed with reference
                                       to these basic principles. This is the approach taken by Laudon (1995) and to a lesser
                                       extent by Huff and Martin (1995). Johnson’s text on computer ethics (2001) also
                                       approaches the topic from a philosophical perspective.
                                         However, I find that this philosophical approach is too abstract and difficult to
                                       relate to everyday experience. I prefer the more concrete approach embodied in codes
                                       of conduct and practice. I think that ethics are best discussed in a software engineer-
                                       ing context and not as a subject in their own right. In this book, therefore, I do not
                                       include abstract ethical discussions but, where appropriate, include examples in the
                                       exercises that can be the starting point for a group discussion on ethical issues.




                                 1.3 Case studies


                                       To illustrate software engineering concepts, I use examples from three different
                                       types of systems throughout the book. The reason why I have not used a single case
                                       study is that one of the key messages in this book is that software engineering prac-
                                       tice depends on the type of systems being produced. I therefore choose an appropri-
                                       ate example when discussing concepts such as safety and dependability, system
                                       modeling, reuse, etc.
                                         The three types of systems that I use as case studies are:

                                       1.  An embedded system This is a system where the software controls a hardware
                                          device and is embedded in that device. Issues in embedded systems typically
   29   30   31   32   33   34   35   36   37   38   39