Page 41 -
P. 41

24   Chapter 1   Introduction


                    KEY POINTS



                        Software engineering is an engineering discipline that is concerned with all aspects of software
                         production.
                        Software is not just a program or programs but also includes documentation. Essential software
                         product attributes are maintainability, dependability, security, efficiency, and acceptability.
                        The software process includes all of the activities involved in software development. The high-
                         level activities of specification, development, validation, and evolution are part of all software
                         processes.
                        The fundamental notions of software engineering are universally applicable to all types of
                         system development. These fundamentals include software processes, dependability, security,
                         requirements, and reuse.

                        There are many different types of systems and each requires appropriate software engineering
                         tools and techniques for their development. There are few, if any, specific design and
                         implementation techniques that are applicable to all kinds of systems.
                        The fundamental ideas of software engineering are applicable to all types of software systems.
                         These fundamentals include managed software processes, software dependability and security,
                         requirements engineering, and software reuse.
                        Software engineers have responsibilities to the engineering profession and society. They should
                         not simply be concerned with technical issues.
                        Professional societies publish codes of conduct that set out the standards of behavior expected
                         of their members.




                   FURTHER RE ADING

                      ‘No silver bullet: Essence and accidents of software engineering’. In spite of its age, this paper is a
                      good general introduction to the problems of software engineering. The essential message of the
                      paper still hasn’t changed. (F. P. Brooks, IEEE Computer, 20 (4), April 1987.)
                      http://doi.ieeecomputersociety.org/10.1109/MC.1987.1663532.
                      ‘Software engineering code of ethics is approved’. An article that discusses the background to the
                      development of the ACM/IEEE Code of Ethics and that includes both the short and long form of the
                      code. (Comm. ACM, D. Gotterbarn, K. Miller, and S. Rogerson, October 1999.)
                      http://portal.acm.org/citation.cfm?doid=317665.317682.
                      Professional Issues in Software Engineering. This is an excellent book discussing legal and
                      professional issues as well as ethics. I prefer its practical approach to more theoretical texts on
                      ethics. (F. Bott, A. Coleman, J. Eaton and D. Rowland, 3rd edition, 2000, Taylor and Francis.)
   36   37   38   39   40   41   42   43   44   45   46