Ethical Considerations and Applying Design Principles Ethical Considerations As a programmer you have to think about ethical issues that may appear in our user interface design. I believe we should think about these ethical issues early in the design process, even before building a prototype or developing the interface. The requirements should cover ethical issues. Ethical concerns raised by features of the system should be considered in the very first phases of systems development. If ethics are taken into account as an afterthought, the new system may break a number of ethical principles and may be very difficult and costly to modify.
If we practice these concepts, ethical concerns should help us shape future system’s environments. In this particular system I can find and describe a few examples where ethical concerns have to be taken into account. Privacy The first concern for my system will be the customer’s privacy. My system will be storing data related to the customer like: Name, location and phone number. This data has will have to be private but in this case this data has to be shared with more than one person in order to solve a reported issue. Customer concern over privacy may lead software designers to redesign software, and, of course, at a cost.
This example brings up a different issue that could be used as a requirement. The system should include a mechanism that deals with user’s personal information and the user has to be aware that his information is being stored. Personal information should be dealt carefully. Designers should be better warned about the risks of a system dealing with user’s personal information as is the case with most personal digital assistants today. Software Reliability I think because of the large number of interacting components, even in a basic system, hardware and software are prone to errors and bugs which are difficult to correct.
It is better to aim at building software product from smaller software parts (or components) put together. This has some definitive advantages from a design point of view. Small pieces can be designed to be highly reusable across a variety of software projects, thus reducing development time and cost. We can see this method in Java or OpenDoc as examples of this approach. However, one may wonder at the implications of this approach with regard to software reliability. Increasing the number of components increases the complexity of software and thus the un-foreseeable or unwanted interactions between components.
It is hard to deny the clear advantages of the component software approach: it allows reusability of ready to use software components and facilitates standardization of software. However, we believe it is misleading to advocate this approach for cost reasons. If component software actually cuts software coding costs, it requires a much more thorough testing approach and thus costs a lot more in testing. We should emphasize that software testing and stronger software design practices are the only key to software reliability. In my system is imperative that the software has been tested and the coding is reliable as well as the efficient.
It is always better to invest a little more money at the beginning that spending much more money at the end when the system crash. The ethic of this is that we have to develop systems that are reliable for our customers instead of doing a vague job to save some money.
References Heim, S. (2008). The resonant interface: HCI foundations for interaction design. Boston: Pearson-Addison-Wesley. Knight, John. (2009). Ethical Design: Birmingham, UK: from http://biblioteca. clacso. edu. ar/ar/libros/raec/ethicomp5/docs/htm_papers/36Knight,%20John. htm Derowitsch, Rachel (2000, August). PC ethics 101. Computing Basics, 11, 56-57