290 likes | 301 Views
Cairo University Faculty of Computers and Information CS251 – Software Engineering Lecture 10: SE Ethics. Slides by Mohammad El-Ramly, PhD 2015 http://www.acadox.com/join/75UDWT. Previous Lecture. What is UML? UML Class Diagrams Associations Generalization Aggregations OCL
E N D
Cairo UniversityFaculty of Computers and Information CS251 – Software EngineeringLecture 10: SE Ethics Slides by Mohammad El-Ramly, PhD 2015 http://www.acadox.com/join/75UDWT
Previous Lecture What is UML? UML Class Diagrams Associations Generalization Aggregations OCL Modelling with Classes
Lecture Objectives Learn about SE Code of Ethics and Professional Practice. Study case studies on its application.
Overview • Why need the code? • Preamble • 8 Fundamental principles • Case studies
The need... • Unethical practices cause software failures, project failures and death. • London Ambulance System • Company took work that she had no experience in • System was released with known bugs • The Vasa • Therac 25 • Company denied system had problem
SE Ethics …. • Ethics the philosophical study of morality • Applied ethics in each profession: • Medical ethics • Business ethics • Environmental ethics • Software ethics
Ethical Questions • Should you work on a product that will be used in spying on political opponents? • Should you release a safety-critical product that is not fully tested because your manager is forcing you to do so? • Should you accept contracts that you are not competent to do? • Should you sacrifice good SE practices to finish the project on time?
2. Preamble • “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 dogood or causeharm.”
Preamble (2) • “Software Engineers shalladhere to the following Code of Ethics and Professional Practice.” • “Code contains eight principles related to the behavior and decisions made by professional software engineers, including practitioners, educators, managers, supervisors, and policy makers, as well as trainees, and students of the profession.”
Preamble (3) • The Clauses of each Principle give examples of some of the obligations included in the ethically responsible relationships in which the individuals, groups, and organizations participate • The Code prescribes these as obligations of anyone claiming to be or aspiring to be a software engineer
1. Public “ Software engineers shall act consistently with the public interest.”
2. 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.”
3. Product “ Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.”
Principle 3: Product • Ensure adequate software specification • Understand specifications fully • Sure you are suitably qualified • Ensure all goals are achievable • Ensure propermethodology use • Ensure good project management • Ensure all estimates are realistic • Ensure adequate documentation • Ensure adequate testing and debugging • Promote privacy of individuals • Use data legitimately • Delete outdated and flawed data • Identify and address contentious issues • Promote maximum quality and minimum cost • Follow appropriate industry standards
4. Judgment “ Software engineers shall maintain integrity and independence in their professional judgment. “
5. Management “ Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.”
6. Profession “ Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.”
7. Colleagues “Software engineers shall be fair to and supportive of their colleagues.”
7. Colleagues 7.02. Assist colleagues in professional development.
8. 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.”
Read, Watch and Solve Videos of Lecture 9 and solve the case studies there. Reading R7 - Software Engineering Code of Ethics and Professional Practice. Bring printed R7.
Next Lecture Sequence Diagrams (Lecture 11 video & Reading 8) 6-24
كيف تنجح فى هذا الكورس • جدد النية و استعن بالله و لا تعجز • نظم وقتك و خصص وقت و مكان مناسبين للدراسة وفق جدول ثابت يناسب ظروفك • شاهد فيديوهات المحاضرات و ذاكر للمحاضرة قبل أن تأتى • شارك فى تمارين المحاضرة و استفد من زملائك • اعمل تمارين المعمل سواءا فى الكلية أو البيت • شارك بقوة فى مشروع المقرر • كن مستعدا للتغيير و تبني عقلية النجاح. • التغيير يحتاج لممارسة العادة الجديدة 30 يوماً
كن مستعدا للتغيير و تبني عقلية النجاح ....... • التغيير الأول • نام بكير فيق بكير شوف الصحة كيف بتصير • بورك لأمتى فى بكورها • فوائد النوم المبكر • GPA أعلى بدرجة كاملة • أكثر إيجابية • أكثر قدرة على مواجهة المشاكل • أكثر تفاؤلا • نوم أعمق و أفضل http://www.forbes.com/pictures/gglg45gfd/benefits-of-early-risers/
كن مستعدا للتغيير و تبني عقلية النجاح ....... • التغيير الثانى • موعد مع الله • تخيل الرئيس أو الملك يقابلك كل يوم صباحا يعطيك عهده و أمانه و يسمع طلباتك. • قال رسول الله ص: من صلى الصبح فهو في ذمة الله ، فلا يطلبنكم الله من ذمته بشيء, فيدركه, فيكبه في نار جهنم.
كن مستعدا للتغيير و تبني عقلية النجاح ....... • التغيير الثالث: الدرع الحصينة • المعوذتين و آية الكرسى • و فواتح و خواتيم سورة البقرة • بسم الله الذى لا يضر مع اسمه شئ فى الأرض و لا فى السماء و هو السميع العليم • أعوذ بكلمات الله التامات من شر ما خلق • أى كتيب فى أذكار الصباح و المساء
كن مستعدا للتغيير و تبني عقلية النجاح ....... • التغيير الرابع: النية • فمن كان يرجو لقاء ربه فليعمل عملا صالح و لا يشرك بعبادة ربه أحدا • إنما الأعمال بالنيات و إنما لكل امرئ ما نوى • النية تحول العادات لعبادات • جدد كل نوايا الخير الممكنة قبل الخروج من البيت