i - introduction Flashcards

1
Q

essential for the functioning of national and international
societies.

A

software engineering

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

abstract and intangible

A

Software systems

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

2 factors that are consequences to so-called software failures

A
  1. increasing demads
  2. low expectations
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Systems have to be built and delivered more quickly; larger, even more complex systems are required;

which factor of consequence of software failures

A

increasing demands

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

They do not use software engineering methods in their everyday work. Consequently, their software is often more expensive and less reliable than it should be.

which factor of consequence of software failures

A

low expectations

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

The notion of ‘software engineering’ was first proposed in [1] at a conference held to discuss what was then
called the ‘[2]’ ([3]).

fill in the blanks

A
  1. 1968
  2. ‘software crisis’
  3. (Naur and Randell, 1969)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Throughout the [1] and [2], a variety of new software engineering techniques and methods were
developed, such as structured programming, information hiding and object-oriented development

fill in the blanks

A
  1. 1970s
  2. 1980s
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

[1], intended for use by someone apart from its developer, is usually developed by teams rather than individuals.

fill in the blanks

A
  1. Professional
    software
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

intended to support professional software development,
rather than individual programming

A

Software engineering

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

includes techniques that support program specification, design, and evolution, none of which are normally relevant for personal software development.

A

software engineering

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

not just the programs themselves but also all associated documentation and configuration data that is required to make these programs operate correctly

A

software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

enumeration

what does a system typically include of?

A
  1. system documentation
  2. user documentation
  3. websites for users to download product information
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Computer programs and associated documentation.
Software products may be developed for a particular
customer or may be developed for a general market.

A

software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

enumerate

attributes of good software

A

Good software should deliver the required functionality and performance to the user and should be maintainable, dependable, and usable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

[1] is an engineering discipline that is concerned with all aspects of software production.

A
  1. Software engineering
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

enumerate

fundamental software engineering activities

A
  1. Software specification
  2. software development
  3. software validation
  4. software evolution.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

[1] focuses on theory and
fundamentals; [2] is concerned
with the practicalities of developing and delivering
useful software.

A
  1. Computer science
  2. software engineering
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

[1] is concerned with all aspects of
computer-based systems development including
hardware, software, and process engineering. [2] is part of this more general process.

A
  1. System engineering
  2. Software
    engineering
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

key challenges facing software engineering?

A

Coping with increasing diversity, demands for reduced
delivery times, and developing trustworthy software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

costs of software engineering

A

Roughly __60%__ of software costs are __development
costs__

__40%__ are __testing costs__.

For __custom software__, evolution costs often exceed development costs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What are the best software engineering techniques
and methods?

A

While all software projects have to be professionally
managed and developed, different techniques are
appropriate for different types of system. For example,
games should always be developed using a series of
prototypes whereas safety critical control systems
require a complete and analyzable specification to be
developed. You can’t, therefore, say that one method
is better than another.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What differences has the Web made to software engineering?

A

The Web has led to the availability of software
services and the possibility of developing highly
distributed service-based systems. Web-based
systems development has led to important advances
in programming languages and software reuse.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

2 kinds of software products

A
  1. generic products
  2. customized (or bespoke) products
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

These are stand-alone systems that are produced by a development organization and sold on the open market to any customer who is able to buy them.

A

generic products

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

example of generic product software

A

databases, word processors, drawing packages, and project-management tools; __vertical applications__ designed for some specific purpose such as library information systems, accounting systems, or systems for maintaining dental records.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

These are systems that are commissioned by a particular customer.

A

customized products

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

example of customized product

A

control systems for electronic devices, systems written to support a particular business process, and air traffic control systems.

28
Q

what are the software product characteristics

A
  1. maintainability
  2. dependability and security
  3. efficiency
  4. acceptability
29
Q

Software should be written in such a way so that it can evolve to meet the changing needs of customers. This is a critical attribute because software change is an inevitable requirement of a changing business environment.

A

maintainability

30
Q

includes a range of characteristics including reliability, security, and safety. Dependable software should not cause physical or economic damage in the event of
system failure. Malicious users should not be able to access or damage the system.

A

dependability and security

31
Q

Software should not make wasteful use of system resources such as memory and processor cycles. Efficiency therefore includes responsiveness, processing time, memory utilization, etc.

A

efficiency

32
Q

Software must be acceptable to the type of users for which it is designed. This means that it must be understandable, usable, and compatible with other systems that they use.

A

acceptability

33
Q

2 reasons why SWE is important

A
  1. more individuals and society rely on advanced software systems
  2. cheaper in the long run to use engineering methods and techniques
34
Q

[fundamental activity] where customers and engineers define the software that is to be produced and the constraints on its operation.

A

software specification

35
Q

[fundamental activity] where the software is designed and programmed.

A

software development

36
Q

[fundamental activity] where the software is checked to ensure that it is what the
customer requires.

A

software validation

37
Q

[fundamental activity] where the software is modified to reflect changing customer and market requirements.

A

software evolution

38
Q

3 general issues that affect many different types of software:

A
  1. heterogeneity
  2. business and social change
  3. security and trust
39
Q

systems are required to operate as distributed systems
across networks that include different types of computer and mobile devices.

issue affecting diff types of software

A

heterogeneity

40
Q

need to be able to change their existing software and to rapidly develop new software.

issue affecting diff types of software

A

business and social change

41
Q

make sure that malicious users cannot attack our software and that information security is maintained.

issue affecting diff types of software

A

security and trust

42
Q

8 types of application

A
  1. stand-alone applications
  2. interactive transaction-based applications
  3. embedded control systems
  4. batch processing systems
  5. entertainment systems
  6. systems for modeling and simulation
  7. data collection systems
  8. systems of systems
43
Q

These are application systems that run on a local computer, such as a PC.

A

stand-alone applications

44
Q

These are applications that execute on a remote computer and that are accessed by users from their own PCs or terminals; e-commerce, business systems, etc.

A

interactive transaction-based applications

45
Q

software control systems that control and
manage hardware devices; software in cellphone, microwave oven.

A

embedded control systems

46
Q

business systems that are designed to
process data in large batches; periodic billing systems.

A

batch processing systmes

47
Q

systems that are primarily for personal use and which are intended to entertain the user

A

entertainment systems

48
Q

systems that are developed by scientists and engineers to model physical processes or situations, which include many, separate, interacting objects

A

systems for modeling and simulation

49
Q

systems that collect data from their environment using a set of sensors and send that data to other systems for processing.

A

data collection systems

50
Q

systems that are composed of a number of other software systems.

A

systems of systems

51
Q

4 standards of acceptable behavior not bounded by laws:

A
  1. confidentiality
  2. competence
  3. intellectual property rights
  4. computer misuse
52
Q

respect the confidentiality of your employers or clients irrespective of whether or not a formal confidentiality agreement has been signed.

A

confidentiality

53
Q

should not misrepresent your level of competence

A

competence

54
Q

be aware of local laws governing the use of intellectual property such as patents and copyright

A

intellectual property rights

55
Q
A
56
Q

should not use your technical skills to misuse other people’s computers.

A

computer misuse

57
Q

8 principles of Software Engineering Code of Ethics and Professional Practice

A
  1. public
  2. client and employer
  3. product
  4. judgment
  5. management
  6. profession
  7. colleagues
  8. self
58
Q

Software engineers shall act consistently with the public interest.

A

public

59
Q

Software engineers shall act in a manner that is in the
best interests of their client and employer consistent with the public interest

A

client and employer

60
Q

Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.

A

product

61
Q

Software engineers shall maintain integrity and independence in their professional judgment.

A

judgment

62
Q

Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.

A

management

63
Q

Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.

A

profession

64
Q

Software engineers shall be fair to and supportive of their colleagues.

A

colleagues

65
Q

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.

A

self

66
Q

published a code of professional conduct or code of ethics

A

ACM
IEEE (Institute of Electrical and Electronic Engineers)
the British Computer Society