320 likes | 424 Views
Lecture 1. Introduction . Name : Zarinah Mohd Kasirun E-mail : zarinahmk@um.edu.my Research interest: requirements engineering, computer-supported collaborative learning (CSCL),. Course syllabus. Pls refer to the word doc Assessment Coursework 70% Mid-sem 10% Final exam 20%. Week 1.
E N D
Introduction • Name : Zarinah Mohd Kasirun • E-mail : zarinahmk@um.edu.my • Research interest: requirements engineering, computer-supported collaborative learning (CSCL),
Course syllabus • Pls refer to the word doc • Assessment • Coursework 70% • Mid-sem 10% • Final exam 20%
Week 1 • Lecture for week 1 • Discussion • Article review
The engineering profession • What makes a profession • Structure of the engineering profession • Development of the engineering profession • Professional qualifications • The engineering profession in the united state • Ethics and software engineering • Professional code of conduct • Applying codes of conduct
a professional engineer needs to be aware of a range of issues much wider than the mere technical knowledge necessary to practice the chosen engineering discipline. • The Engineering Council, for example, requires that the formation of a professional engineer should include, • Technical decision making and its commercial and economic implementation;... • knowledge of government legislation affecting work, e.g. safety, health, environmental requirements; an understanding of the principles of management and industrial relations; • some knowledge of trade unions and their organization; an understanding of the engineer's responsibility to the profession, to the community and to the environment.
Terms like profession, professional and professionalism carry a whole variety of meanings; in some contexts they are simply descriptive (e.g. a professional writer), in some they are commendatory (a professional piece of work), and in some they are pejorative (a professional foul).
The Software Engineering Profession • Software engineering (SE) as a discipline and profession is relatively young, some even say “immature”. • In 1996, Ford and Gibbs [6] listed designated eight infrastructure • components that can be used to evaluate a mature profession: • a professional society • initial professional education • skills development • professional development • accreditation • certification • licensing • a code of ethics • In the following slides, we will discuss these elements in relation to the current state of the software engineering profession.
Professional Societies • There is no professional society devoted exclusively to software engineering, but there are two societies which provide mature support for the software engineering profession: • Association for Computing Machinery (ACM) (http://www.acm.org/) • Founded in 1947, ACM has 75, 000 members and has the objective of advancing the skills of computing professionals and students worldwide. • The ACM has 34 “special interest groups” (SIGS). The Special Interest Group on Software Engineering (SIGSOFT) focuses on issues relating to all aspects of software development and maintenance. • IEEE Computer Society (IEEE-CS) (http://computer.org/) • Founded in 1946, with nearly 100, 000 members, it is the largest of the 36 societies of the Institute of Electrical and Electronics Engineers (IEEE). • The Computer Society's vision is to be the leading provider of technical information and services to the world's computing professionals
Certification and Licensing - 1 • Certification is a voluntary process administered by a profession. • Currently there are many certification programs for various computing technologies. Many are brand name certifications (e.g. Cisco, Java/Sun, Microsoft, Novell, etc.) and do not deal with the software engineering profession directly. • The IEEE-CS offers a certification titled Certified Software Development Professional (CSDP) [7]. The CSDP has the following components: • At the time of application the candidate holds a baccalaureate or equivalent university degree and has a minimum of 9,000 hours of software engineering experience within at least six (6) of the eleven (11) SE knowledge areas (the ten SWEBOK areas [5] and Professionalism and Engineering Economics). • Candidates are required to subscribe to the Software Engineering Code of Ethics and Professional Practice [3] • Candidates must pass an exam demonstrating mastery of the knowledge areas
Certification and Licensing - 2 • Licensing is a mandatory process administered by a governmental authority. • In the U.S. licensing is administered at the state level. • Only about 18% of U.S. engineers (civil, electrical, mechanical , etc.) are registered. • Texas is currently the only state to license software engineers. • In recent years, no topic has stirred more controversy and debate than certification and licensing of software engineers [4, 8]. • This seems to signal that the nature and maturity of software engineering is not yet stable.
SE Education & Training - 1 • Ford and Gibbs list four elements related to SE education: initial professional education, skills development, professional development and accreditation. • Initial Professional Education • There are hundreds of computer programs (computer engineering, computer science, and information systems) in the U.S. that include significant material activities devoted to the software engineering education. • There over twenty undergraduate degree programs in software engineering in the U.S. • The ACM and the IEEE-CS have developed curriculum guidance for software engineering education [2, 7].
SE Education & Training - 2 • Skills Development and Professional Development • Because of the dynamic nature of computing methods and technology, industry and government devote significant resources to the training of software engineers. Web searches for industrial training in software development demonstrates the magnitude of the skills development element. • The ACM and IEEE-CS promote and support professional development through publications, conferences, workshop and tutorials.
Accreditation • The Accreditation Board for Engineering and Technology (ABET) has established accreditation criteria for software engineering programs. • The SE program specific criteria reads as follows: • The curriculum must provide both breadth and depth across the range of engineering and computer science topics implied by the title and objectives of the program.
The program must demonstrate that graduates have: • the ability to analyze, design, verify, validate, implement, apply, and maintain software systems; • the ability to appropriately apply discrete mathematics, probability and statistics, and relevant topics in computer science and supporting disciplines to complex software systems; and • the ability to work in one or more significant application domains. • The program shall demonstrate that those faculty teaching core software engineering material have practical software engineering experience
Cases (Article reading) • Therac-25 accidents in which very subtle programming errors caused a radiation therapy machine to kill 3 patients and injure 3 others. Leveson and Turner. • Confirm fiasco in which an integrated airline, hotel and rental car reservation system was never completed because of incompetence and one might argue the unethical behavior of project leaders.
Case (Article reading) • According to Charette many companies do not engage in any form of risk management
Ethics and Professional Conduct • Why should we be interested ethics and professional conduct? • Here is one answer: • Today the quality of software produced by software engineers is critical to society. • The success of many, if not most, human endeavors is dependent on high-quality software (e.g. applications used in financial, legal, library, health, personnel, and transportation systems) • Lives depend on the safety and reliability of many software systems (e.g. control of aircraft, medical devices, and nuclear power stations) • In additional to technical capability, the quality of software products depend on the ethics and professional conduct of the engineers that developer develop them.
Logical malleability • Computers are thus used as tools for representation, modeling and simulation and they thereby have become a materialization of our conceptual knowledge of the world. • The ethical consequences of the fact that the computer is an artifact defining our contemporary culture are many. • A specific technical expertise is necessary to be able to understand the problems within the field.
Speed and the simplicity of handling • Speed and the simplicity of handling large amounts of data are connected with risks for unintentional transfer of incorrect data, as well as other ethical problems such as privacy and security intrusion because of unintended or uncontrolled movement of data. • Storage of huge amounts of data • Uncertainty of identity • Global character • Openness and availability • Power mediation
Context of professional ethics Ethical problems arise when there differences of judgment and expectation about what constitutes the true state of affairs and a proper course of action. Industry (other firms) Clients consumers Profession (societies) Private Engineering firm colleague engineer managers
SE Code of Ethics and Professional Practice • Computers have a central and growing role in commerce, industry, government, medicine, education, entertainment and society at large. • Software engineers are those who contribute by direct participation or by teaching, to the analysis, specification, design, development, certification, maintenance and testing of software systems. • Because of their roles in developing software systems, software engineers have significant opportunities to do good or cause harm, to enable others to do good or cause harm, or to influence others to do good or cause harm.
The Code contains eight Principles related to the behavior of and decisions made by professional software engineers, including • practitioners, educators, managers, supervisors and policy makers, as well as trainees and students of the profession. • The Principles identify the ethically responsible relationships in which individuals, groups, and organizations participate and the primary obligations within these relationships. • The Clauses of each Principle are illustrations of some of the obligations included in these relationships.
Possible functions of code of ethics • It can serve as a collective of recognition by members of profession of its responsibilities. • It can help create an environment in which ethical behaviour is the norm. • It can serve as a guide or reminder in specific situations. • The process of developing and modifying a code of ethics can be valuable for the profession. • A code can serve as an educational tool, as a focal discussion in classes and professional meetings • A code can indicate to others that professional is seriously concerned with responsible, professional conduct.
SE Code of Ethics and Professional Practice • Many professions (engineering, law, medicine) provide a code of conduct that defines and motivates professional and ethical behavior by its members. • In 1999, an SE Code was developed by a ACM/IEEE-CS Task Force • The code addresses eight areas of concern. The following is short version of the SE Code: • PUBLIC - Software engineers shall act consistently with the public interest. • CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest. • PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible. • JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment.
SE Code of Ethics and Professional Practice • MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance. • PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest. • COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues. • SELF - Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.
Why is the study of professional ethics needed? • To increase the ability of students as future engineers and managers to first recognize and then responsibly confront moral issues raised by technological activity. • The goal to develop moral autonomy
Conclusion • Software engineering is “maturing” profession. • In the coming years the software engineering profession will have to deal with the issues of • providing appropriate initial and life-long professional education to its members • providing a framework to ensure that its members act in a professional and ethical manner
References 1. Accreditation Board for Engineering and Technology – home page (http://www.abet.org/) 2. Association of Computing Machinery – home page (http://www.acm.org/) 3. ACM/IEEE-CS Joint Task Force on Software Engineering Ethics and Professional Practices, Software Engineering Code of Ethics and Professional Practice , Version 5.2, (http://www.acm.org/serving/se/code.htm) 4. Boehm, B., et. al., Position Papers on Software Engineering & Licensing, (http://www.acm.org/serving/se_policy/papers.html) 5. Bourque P. and R. Dupuis, eds. Guide to the Software Engineering Body of Knowledge, IEEE CS Press, Los Alamitos, CA., 2001. (www.swebok.org) 6. Ford, Gary and Gibbs, Norman E., A Mature Profession of Software Engineering, CMU/SEI- 96-TR-004, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, 1996. (http://www.sei.cmu.edu/pub/documents/96.reports/pdf/tr004.96.pdf) 7. IEEE Computer Society - home page (http://computer.org/) 8. Knight, J. , et. al., On Licensing Of Software Engineers Working On Safety-critical Software, Final Report of an ACM Task Force, August, 2001 (http://www.acm.org/serving/se_policy/safety_critical.pdf) 9. Mead, N., “Issues in Licensing and Certification of Software Engineers”, Software Engineering Institute, Carnegie Mellon University, March 2002 (http://www.sei.cmu.edu/staff/nrm/license.html
THE CODE OF ETHICS FOR SOFTWARE ENGINEERS, PUBLIC INTEREST AND THE ISLAMIC PERSPECTIVE
Understanding case • Case 1 • http://courses.cs.vt.edu/cs3604/lib/Therac_25/Therac_1.html