1 2 Introduction
1 2 Introduction
SE ethics
A brief introduction to ethical issues that impact SE
Case studies
An introduction to typical examples that will be explored in later lectures
Software development
Software validation
Software evolution
Software, on the other hand, is a more focused activity that deals only with
the software itself, though it is closely associated with and integrated into
the SE process
Business and users expect quick results and cannot afford to wait for several
years for software development
For example, developing a critical system for an aircraft will be much more
expensive per line of code than creating a free app for the Android Store or
iTunes
This has led to the development of new types of distributed systems that
deliver the functionality users need
The demands of the web and the need for highly distributed systems have
driven advancements in SE
Customized products
Software developed specially for a particular customer to meet their unique needs
E.g., embedded control systems, air traffic control software, and traffic monitoring
systems
Customized products
Acceptability Soft. must be suitable for the intended users (i.e., should be understandable,
user-friendly, and compatible with other system they use)
Software validation: the phase where the software is tested to ensure it meets
customer requirements (i.e., does the right things)
Business & social change: business and society are evolving rapidly as
emerging economies grow and new technologies become available
Scale
The SE methods and tools used depend on the type of application being
developed, the customer’s requirements, and the background of the
development team
hardware devices
Dependability & performance: these are crucial for all types of software
systems
Software may be implemented using service-oriented software SE, where the software
components are stand-alone web services
Rich interfaces
Interface development technologies such as AJAX and HTML5 have emerged to support
the creation of rich interfaces within a web browser
Idealism: the optimistic side of computing, which suggests that we can prevent
harm, possibly do positive things, and sometimes be labeled as ethical
Confidentiality
Competence
They should not knowingly accept work that is beyond their level of
competence
They must ensure that the intellectual property of their employers and clients is
protected
Computer misuse
Software engineers should not use their technical skills to misuse other people’s
computers
Computer misuse can range relatively trivial actions (such as playing games on
an employers’ machine) to extremely serious offenses (such as disseminating
viruses)
The system shall perform reliably and deliver the correct amount of insulin
to counteract the current blood sugar level
To make it easier for patients to attend, these clinics are not only run in
hospitals they may also be held in local medical practices or community
centers
When local system have secure network access, they can use
patient information from the database, download, and access copies
of patient records even when disconnected
Safety
Some mental illnesses may cause patients to become suicidal or pose a danger
to others
Whenever possible, the system should alert medical staff about potentially
suicidal or dangerous patients
The system must be available when needed, otherwise, patient safety may be
compromised, and it may be impossible to prescribe the correct medication
plus a set of applications that are geared to the needs to the learners using
the system
Information can only be shared with other services through explicit user
actions such as copy and paste;