CS383 Lecture 2
CS383 Lecture 2
Introduction (II)
Semester: 452
Lecture: 2
Topics to be covered in this lecture
● Software as a Service
● SE ethics
Software engineering and process activities
perspective)
○ Faster software delivery
○ Cheaper to changed and upgrade
○ Reduce cost
5
Software engineering and the Web (cont.)
based systems
web browser
6
Software as a Service (SaaS)
● Benefits: ● Drawbacks:
○ Pay as you go (monthly, ○ Lack of control
annually) ○ Vulnerable: security and trust
○ Accessible anywhere ○ Limited range of applications
○ No need for expensive ○ Internet dependent
computers ○ Performance issues
8
Software Engineering Code Of Ethics And Professional
Practice
heExamples:
■ Accept full responsibility for their own work.
■ Moderate the interests of the software engineer, the employer, the client and
the users with the public good
■ Approve software only if they believe that it is safe for use, meets
specifications, passes appropriate tests
■ Disclose to appropriate persons or authorities any actual or potential danger
to the user, the public, or the environment.
■ Be fair and avoid deception in all statements, particularly public ones
■ Consider issues of physical disabilities and allocation of resources
■ Be encouraged to volunteer professional skills to good causes
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
Examples:
■ provide service in their areas of competence.
■ Not knowingly use software that is obtained or retained either illegally or
unethically.
■ Use the property of a client or employer only in ways properly authorized.
■ Identify, document, collect evidence and report to the client or the employer
promptly if, a project is likely to fail or to violate intellectual property law.
■ Ensure that any document upon which they rely has been approved, when
required, by someone authorized to approve it.
■ Keep private of confidential information gained in their professional work.
3. PRODUCT
Examples:
■ Strive for high quality and acceptable cost
■ Ensure proper and achievable goals and objectives for any project
■ Ensure that they are qualified for any project they work on
■ Ensure that an appropriate method is used for any project
■ Work to follow professional standards
■ Strive to fully understand the specifications for software
■ Ensure adequate testing, debugging, documentation and review of software
4. JUDGMENT
Examples:
■ Temper all technical judgments by the need to support and maintain
human values.
■ Only endorse documents if prepared under supervision
■ Maintain professional objectivity with respect to any software
■ Not engage in deceptive financial practices such as bribery, double
billing, or other improper financial practices.
■ Disclose to all concerned parties those conflicts of interest that cannot
reasonably be avoided or escaped.
5. MANAGEMENT
Examples:
■ Ensure good management for any project on which they work
■ Ensure that software engineers are informed of standards before being
held to them.
■ Ensure realistic quantitative estimates of cost, scheduling, personnel,
quality and outcomes on any project
■ Provide for due process in hearing charges of violation of an employer's
policy or of this Code.
■ Not ask a software engineer to do anything inconsistent with this Code
6. PROFESSION
Examples
■ Help develop an organizational environment favorable to acting ethically
■ Promote public knowledge of software engineering
■ Support, as members of a profession, other software engineers striving to
follow this Code.
■ Not promote their own interest at the expense of the profession, client or
employer.
■ Take responsibility for detecting, correcting, and reporting errors in
software
■ Report significant violations of this Code to appropriate authorities
7. COLLEAGUES
Examples:
■ Encourage colleagues to adhere to this Code
■ Assist colleagues in professional development
■ Credit fully the work of others and refrain from taking undue credit
■ Assist colleagues in being fully aware of current standard work
practices
■ Not unfairly intervene in the career of any colleague
8. SELF
Examples:
○ Further their knowledge of recent developments
○ Improve their ability to create safe, reliable, and useful quality software
○ Improve their ability to produce accurate, informative, and well-written
documentation
○ Improve their knowledge of relevant standards
○ Not influence others to undertake any action that involves a breach of this
Code
Software Engineering Code of Ethics and Professional
Practice: SEEPP
https://ethics.acm.org/code-of-ethics/software-engineering-code/