0% found this document useful (0 votes)
11 views

Lecture # 4

Software Engineering Fundamentals

Uploaded by

aleenashahzad03
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Lecture # 4

Software Engineering Fundamentals

Uploaded by

aleenashahzad03
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Lecture # 4

An overview of software
engineering
Software engineering fundamentals
(CSC-2073)

Dr.CM NadeemFaisal www.hci.uniovi.es/en-members.htm


Software engineering ethics

– Software engineering involves wider responsibilities than simply the application of technical skills.
– Software engineers must behave in an honestand ethicallyresponsible 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

Dr.CM NadeemFaisal www.hci.uniovi.es/en-members.htm 2


Issues of professional responsibility

Confidentiality
– Engineers should generally respect the confidentiality of their employers or clients
irrespective of whether a formal confidentiality agreement has been signed.

Competence
– Engineers should not misrepresent their competence level and should not knowingly accept work
that is outwitting their competence.

Dr.CM NadeemFaisal www.hci.uniovi.es/en-members.htm 3


Issues of professional responsibility

Intellectual property rights


– Engineers should be aware of local laws governing the use of intellectual property such as patents,
copyright, etc. They should be careful to ensure that the intellectual property of employers and
clients is protected.

Computer misuse
– Software engineers should not use their technical skills to misuse other people’s computers.
Computer misuse ranges from relatively trivial (game playing on an employer’s machine, say) to
extremely serious (disseminating viruses).

Dr.CM NadeemFaisal www.hci.uniovi.es/en-members.htm 4


ACM/IEEE Code of Ethics

– Professional societies in the US have cooperated to produce a code of ethical practice.

– Members of these organizations sign up for the Code of practice when they join.

– The Code contains eight Principles related to the behavior of and decisions made by professional
software engineers, including practitioners, educators, managers, supervisors, policymakers, trainees,
and students of the profession.

Dr.CM NadeemFaisal www.hci.uniovi.es/en-members.htm 5


Rationale for the code of ethics

– 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 damage, or to
influence others to do good or cause harm. To ensure, as much as possible, that their efforts will be
used for good, software engineers must commit themselves to make software engineering a
beneficial and respected profession.

Dr.CM NadeemFaisal www.hci.uniovi.es/en-members.htm 6


The ACM/IEEE Code of Ethics

ACM/IEEE-CS Joint Task Force on Software Engineering Ethics and Professional Practices
PREAMBLE

The short version of the code summarizes aspirations at a high level of abstraction; the clauses
included in the full version give examples and details of how these aspirations change how we act as
software engineering professionals. Without the aspirations, the details can become legalistic and
tedious; without the details, the aspirations can become high-sounding but empty; together, the
aspirations and the details form a cohesive code.

Software engineers shall commit to making software analysis, specification, design, development,
testing, and maintenance a beneficial and respected profession. By their commitment to the health,
safety, and welfare of the public, software engineers shall adhere to the following Eight Principles:

Dr.CM NadeemFaisal www.hci.uniovi.es/en-members.htm 7


Ethical principles

– Public - Software engineers shall act consistently in the public interest.


– Client And Employer - Software engineers shall act in a manner that is in their client's and
employer's best interests, consistent with the public interest.
– Product - Software engineers shall ensure that their products and related modifications meet the
highest professional standards.
– Judgment Software engineers shall maintain integrity and independence in their professional
judgment.

Dr.CM NadeemFaisal www.hci.uniovi.es/en-members.htm 8


Ethical principles

– Management - Software engineering managers and leaders shall subscribe to and promote an
ethical approach to software development and maintenance management.
– Profession - Software engineers shall advance the integrity and reputation of the work 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 their profession's practice and

Dr.CM NadeemFaisal www.hci.uniovi.es/en-members.htm 9


Ethical dilemmas

– Disagreement in principle with the policies of senior management.


– Your employer acts unethical and releases a safety-critical system without finishing the testing of
the system.
– Participation in the development of military weapons systems or nuclear systems.

Dr.CM NadeemFaisal www.hci.uniovi.es/en-members.htm 10


Insulin pump control system (a case study)

Collects data from a blood sugar sensor and calculates the amount of insulin required to be injected.

– The calculation is based on the rate of change in blood sugar levels.


– Sends signals to a micro pump to deliver the correct dose of insulin.
– The safety-critical system as low blood sugars can lead to brain malfunctioning, coma, and death;
– high blood sugar levels have long-term consequences such as eye and kidney damage.

Dr.CM NadeemFaisal www.hci.uniovi.es/en-members.htm 11


Insulin pump hardware architecture

Dr.CM NadeemFaisal www.hci.uniovi.es/en-members.htm 12


Activity model of the insulin pump

Dr.CM NadeemFaisal www.hci.uniovi.es/en-members.htm 13


Essential high-level requirements

– The system shall be available to deliver insulin when required.


– The system shall perform reliably and deliver the correct amount of insulin to counteract the
current level of blood sugar.
– The system must therefore be designed and implemented to ensure that the system always
meets these requirements.

Dr.CM NadeemFaisal www.hci.uniovi.es/en-members.htm 14


Thanks

Any question ?

Dr.CM NadeemFaisal www.hci.uniovi.es/en-members.htm 15


Reference

1. Sommerville, I. (2016). Software Engineering GE. Pearson Australia Pty Limited.

Dr.CM NadeemFaisal www.hci.uniovi.es/en-members.htm 16

You might also like