The lecture discusses key topics in web software engineering and software engineering ethics. It covers principles of software reuse, incremental development, and constrained user interfaces for web-based systems. The lecture also outlines the IEEE/ACM code of ethics, including fundamental principles around public interest, products, judgment, and lifelong learning. Upholding ethics is important to avoid issues like poor quality products and loss of integrity and independence.
The lecture discusses key topics in web software engineering and software engineering ethics. It covers principles of software reuse, incremental development, and constrained user interfaces for web-based systems. The lecture also outlines the IEEE/ACM code of ethics, including fundamental principles around public interest, products, judgment, and lifelong learning. Upholding ethics is important to avoid issues like poor quality products and loss of integrity and independence.
Web software engineering Software reuse is the dominant approach for constructing web-based systems When building these systems, you think about how you can assemble them from pre-existing software components and systems Web-based systems should be developed and delivered incrementally It is now generally recognized that it is impractical to specify all the requirements for such systems in advance User interfaces, constrained by capabilities of web browsers Technologies such as AJAX allow rich interfaces to be created within a web browser but are still difficult to use. Web forms with local scripting are more commonly used Lecture by Engr. Sidra Web-based software engineering
Web-based systems are complex distributed systems but
the fundamental principles of software engineering discussed previously are as applicable to them as they are to any other types of system The fundamental ideas of software engineering, discussed in the previous section, apply to web-based software in the same way that they apply to other types of software system
Lecture by Engr. Sidra
Key points Software—programs, data, and descriptive information— addresses a wide array of technology and application areas. Essential software product attributes are maintainability, dependability and security and efficiency. Software engineering is an engineering discipline that is concerned with all aspects of software production. Software engineering encompasses process, methods, and tools that enable complex computer-based systems to be built in a timely manner with quality. ( Layered Technology)
Lecture by Engr. Sidra
Key points The high-level activities of specification, development, validation, and evolution are part of all software processes. There are many different types of system, and each requires appropriate software engineering tools and techniques for their development. The fundamental ideas of software engineering are applicable to all types of software system. These fundamentals ideas including managing software processes, software dependability and security, requirements engineering, and software reuse. Web-based systems and applications have evolved from simple collections of information content to sophisticated systems that present complex functionality and multimedia content. Lecture by Engr. Sidra Software Engineering Ethics
Software engineering involves wider responsibilities than
simply the application of technical skills Software engineers must behave in an honest and ethically responsible way if they are to be respected as professionals Ethical behavior is more than simply upholding the law but involves following a set of principles that are morally correct.
Lecture by Engr. Sidra
Issues of professional responsibility Confidentiality
Lecture by Engr. Sidra
Issues of professional responsibility
Competence
Lecture by Engr. Sidra
Issues of professional responsibility Intellectual property rights
Lecture by Engr. Sidra
Issues of professional responsibility
Computer Misuse
Lecture by Engr. Sidra
The IEEE/ACM joint Code of Ethics IEEE Computer Society and Association for Computing Machinery (ACM), two major professional bodies jointly established a task force to frame software engineering code of ethics and professional practice. According to this code, every software professional has obligations and these obligations have to be fulfilled by every person as a human being a professional a software engineering professional While discharging one’s duties, sometimes there may be a conflict between the obligations to different entities.
Lecture by Engr. Sidra
Advantages of Code of Ethics Code of Ethics enables us to: Set out the ideals and responsibilities of the profession Exert a regulatory effect, protecting both clients and professionals Improve the profile of the profession Motivate and inspire practitioners, by attempting to define their reason for being Provide guidance on acceptable conduct Raise awareness and consciousness of issues Improve quality and consistency Lecture by Engr. Sidra Preamble of Code of Ethics Prevalence of software in society provide significant opportunities to do good or cause harm. Ensure that efforts are used to do good. Not intended to be applied piecemeal. Not to be used to justify errors. Not a simple algorithm to produce ethical decisions. Software engineer must use judgment after thoughtful consideration of the 8 fundamental principles. Always use the public interest as the highest and governing principle. Lecture by Engr. Sidra IEEE/ACM Code of Ethics and Professional Practice 8 fundamental principles 1. Public
2. Client and employer
3. Product
4. Judgment
5. Management
6. Profession
7. Colleagues
8. Self Lecture by Engr. Sidra 1.PUBLIC
Software engineers shall act consistently with
the public interest.
Lecture by Engr. Sidra
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.
Lecture by Engr. Sidra
3.PRODUCT
Software engineers shall ensure that their
products and related modifications meet the highest professional standards possible.
Lecture by Engr. Sidra
4.JUDGMENT
Software engineers shall maintain integrity
and independence in their professional judgment.
Lecture by Engr. Sidra
5.MANAGEMENT
Software engineering managers and leaders
shall subscribe to and promote an ethical approach to the management of software development and maintenance.
Lecture by Engr. Sidra
6.PROFESSION
Software engineers shall advance the integrity
and reputation of the profession consistent with the public interest.
Lecture by Engr. Sidra
7.COLLEAGUES:
Software engineers shall be fair to and
supportive of their colleagues.
Lecture by Engr. Sidra
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.
Lecture by Engr. Sidra
Failure to follow Code of Ethics leads unethical processes carried out such as; poor communication between the professionals, poor judgment, poor design, lack of or poor testing, money mindedness of the management. The unethical practice of professional ethics is not only costly but also reduce the integrity of software engineers. Unethical practice may also be punishable
Lecture by Engr. Sidra
How best to follow ethics
Lecture by Engr. Sidra
Scenario # 1
You are the owner of the software engineering company.
Your employees(engineers) want you to pay for them to attend training. How would you respond in a way that is legal, moral and ethical?
Lecture by Engr. Sidra
Scenario # 2
You are software engineer at a company where
management routinely encourages you and your colleagues to use pirated softwares. How would you respond in a way that is legal, moral and ethical?
Lecture by Engr. Sidra
Scenario # 3
You are the owner of a software engineering company.
Your employees (engineers) want you to let them do pro bono work for a local non-profit organization on company time. How would you respond in a way that is legal, moral, and ethical?
Lecture by Engr. Sidra
Summary
Need of code of ethics
Issues of professional responsibilities IEEE/ACM code of ethics and professional Practices Failure to follow code of ethics How can follow the code of ethics