You are on page 1of 28

Introduction to Software

Engineering
Lecture # 3

Lecture by Engr. Sidra


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

Lecture by Engr. Sidra

You might also like