21.01.2022 Views

Sommerville-Software-Engineering-10ed

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

28 Chapter 1 ■ Introduction

1. Software reuse has become the dominant approach for constructing web-based

systems. When building these systems, you think about how you can assemble

them from preexisting software components and systems, often bundled together

in a framework.

2. It is now generally recognized that it is impractical to specify all the requirements

for such systems in advance. Web-based systems are always developed

and delivered incrementally.

3. Software may be implemented using service-oriented software engineering,

where the software components are stand-alone web services. I discuss this

approach to software engineering in Chapter 18.

4. Interface development technology such as AJAX (Holdener 2008) and HTML5

(Freeman 2011) have emerged that support the creation of rich interfaces within

a web browser.

The fundamental ideas of software engineering, discussed in the previous section,

apply to web-based software, as they do to other types of software. Web-based systems

are getting larger and larger, so software engineering techniques that deal with

scale and complexity are relevant for these systems.

1.2 Software engineering ethics

Like other engineering disciplines, software engineering is carried out within a

social and legal framework that limits the freedom of people working in that area. As

a software engineer, you must accept that your job involves wider responsibilities

than simply the application of technical skills. You must also behave in an ethical

and morally responsible way if you are to be respected as a professional engineer.

It goes without saying that you should uphold normal standards of honesty and

integrity. You should not use your skills and abilities to behave in a dishonest way or

in a way that will bring disrepute to the software engineering profession. However,

there are areas where standards of acceptable behavior are not bound by laws but by

the more tenuous notion of professional responsibility. Some of these are:

1. Confidentiality You should normally respect the confidentiality of your employers

or clients regardless of whether or not a formal confidentiality agreement

has been signed.

2. Competence You should not misrepresent your level of competence. You should

not knowingly accept work that is outside your competence.

3. Intellectual property rights You should be aware of local laws governing the

use of intellectual property such as patents and copyright. You should be careful

to ensure that the intellectual property of employers and clients is protected.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!